SpringBoot 跨域 Access-Control-Allow-Origin 问题

时间:2023-03-09 19:11:25
SpringBoot 跨域 Access-Control-Allow-Origin 问题

https://blog.****.net/taoism_jerry/article/details/79695336

************************************************************

方式一:
在过滤器中设置响应头

@Component
public class CorsFilter implements Filter { @Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res; HttpServletRequest reqs = (HttpServletRequest) req; // response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
chain.doFilter(req, res);
} @Override
public void init(FilterConfig filterConfig) {} @Override
public void destroy() {}

方式二:
对SpringBoot进行配置

@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter { @Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT")
.maxAge(3600);
} }