定义过滤器
import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class CorsFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) {// TODO Auto-generated method stub}@Overridepublic 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);}@Overridepublic void destroy() {// TODO Auto-generated method stub}}
注册过滤器
@Beanpublic FilterRegistrationBean corsFilterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(new CorsFilter());registration.addUrlPatterns("/*");registration.setName("corsFilter");//将其注册在其他过滤器的前面registration.setOrder(0);return registration;}
如果觉得《SpringBoot解决跨域请求的OPTIONS问题》对你有帮助,请点赞、收藏,并留下你的观点哦!