springboot解决跨域问题(springboot跨域不拦截json拦截文件)
本文目录
springboot跨域不拦截json拦截文件
1、返回新的CorsFilter。2、重写WebMvcConfigure。3、手动设置响应头(HttpServletResponse。4、自定webfilter实现跨域。
SpringBoot CORS 跨域 @CrossOrigin
跨源资源共享(Cross-origin resource sharing, CORS)是由大多数浏览器实现的W3C规范,它允许您以灵活的方式指定哪种跨域请求被授权,而不是使用一些不太安全、功能不太强大的方法,比如IFRAME或JSONP。 从4.2开始,Spring MVC已支持CORS。 在Spring Boot中使用带有@CrossOrigin注释的controller方法CORS配置,不需要任何特定的配置。 @CrossOrigin注解可以在类上使用,也可以在方法上使用,如: 常用的属性有2个,分别是origins和maxAge,下面分别解释下: ***隐藏网址*** @CrossOrigin可以同时在类上、方法上同时使用,来控制不同网站访问不同的映射,如: ***隐藏网址*** 全局CORS配置可以通过注册一个WebMvcConfigurer bean并使用自定义的addcorsmapping (CorsRegistry)方法来定义,如:
springboot如何解决跨域问题
配置corsFilter拦截器。// 自定义一个Filter来处理CORS跨域请求@Componentpublic class CORSFilter implements Filter {@Override public void init(FilterConfig filterConfig) throws ServletException {}// TODO:这里应该是只需要处理OPTIONS请求即可~~~@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletResponse response = (HttpServletResponse) servletResponse;response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");response.setHeader("Access-Control-Max-Age", "3600");response.setHeader("Access-Control-Allow-Headers", "content-type,Authorization");// response.setHeader("Access-Control-Allow-Credentials", "true");filterChain.doFilter(servletRequest, servletResponse);}@Override public void destroy() {}}这是spring支持的功能,已springboot代码的方式写出来。
更多文章:
大秦赋:秦朝灭亡时,扫灭六国的百万正规军去哪了?军团大战僵尸是电脑游戏
2024年3月26日 04:45
瑞星路由安全卫士(瑞星路由器安全卫士登录不了,wifi被禁止了,在线等!!)
2024年7月21日 13:45
华为系统、小米系统、锤子系统,哪个系统没广告推送?在大家的心中,锤子系统怎么样呢,在众多的ui中是一个怎么样的存在
2024年6月25日 20:00
linux家用操作系统有哪些?veket和linux有什么区别
2024年7月10日 12:06
大闹天宫3d下载(大闹天宫甄子丹电影 大闹天宫电影下载 电影大闹天宫3d版出来了吗)
2024年7月15日 01:23