Springboot设置跨域的三种方式


方式一(精细配置)

在需要跨域的整个Controller或者单个方法上添加@CrossOrigin注解

方式二(全局配置)

 1 @Configuration
 2 public class WebMvcConfig extends WebMvcConfigurerAdapter {
 3     @Override
 4     public void addCorsMappings(CorsRegistry registry) {
 5         registry.addMapping("/**")
 6                 .allowedOrigins("*")
 7                 .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
 8                 .maxAge(3600)
 9                 .allowCredentials(true);
10     }
11 }

方式三(通过filter)

 1 @Component
 2 @WebFilter(urlPatterns = "/*", filterName = "authFilter") //这里的“/*” 表示的是需要拦截的请求路径
 3 public class PassHttpFilter implements Filter {
 4     @Override
 5     public void init(FilterConfig filterConfig) throws ServletException { }
 6     @Override
 7     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
 8         HttpServletResponse httpResponse = (HttpServletResponse)servletResponse;
 9         httpResponse.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept");
10         httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
11         httpResponse.addHeader("Access-Control-Allow-Origin", "http://127.0.0.1:8080");
12         filterChain.doFilter(servletRequest, httpResponse);
13     }
14     @Override
15     public void destroy() { }
16 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM