SpringBoot解决跨域请求的OPTIONS问题
定义过滤器import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/*** 解决vue前端OPTIONS跨域问题*/public class CorsFilter implements Filter {@Overridepu...
·
- 定义过滤器
import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class CorsFilter implements Filter { @Override public void init(FilterConfig filterConfig) { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (request instanceof HttpServletRequest) { HttpServletResponse httpServletResponse = (HttpServletResponse) response; httpServletResponse.setHeader("Access-Control-Allow-Origin", "*"); httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); httpServletResponse.setHeader("Access-Control-Max-Age", "3600"); httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with, X-Custom-Header, Authorization"); } chain.doFilter(request, response); } @Override public void destroy() { // TODO Auto-generated method stub } }
- 注册过滤器
@Bean public FilterRegistrationBean corsFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new CorsFilter()); registration.addUrlPatterns("/*"); registration.setName("corsFilter"); //将其注册在其他过滤器的前面 registration.setOrder(0); return registration; }
更多推荐
已为社区贡献2条内容
所有评论(0)