本文共 1435 字,大约阅读时间需要 4 分钟。
在配置Spring Boot应用时,添加CORS过滤器是一个简单高效的方法,以允许来自不同域名或端口的请求。通过创建一个自定义的过滤器类,并在应用入口点注册它,可以有效地控制跨域请求。以下是一些具体的实现步骤:
创建自定义过滤器类:
public class SimpleCORSFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException { HttpServletResponse httpResponse = (HttpServletResponse) response; httpResponse.setHeader("Access-Control-Allow-Origin", "*"); httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); httpResponse.setHeader("Access-Control-Max-Age", "3600"); httpResponse.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With"); chain.doFilter(request, response); } //初始化和销毁方法可以保持为空 @Override public void init(FilterConfig filterConfig) {} @Override public void destroy() {}}
注册过滤器到应用中:在你的主配置类中添加以下依赖和配置:
import org.springframework.web.filter.CorsFilter;//...@Configuration@EnableWebMvcclass WebConfig extends CanvasConfiguration { @Override protected void addFilters/FrameworkFilter autoAddExceptionHandler() { beanFactory.getBean("corsFilter").registerCorsFilter(); } //...}
配置过滤器参数:如果需要对CORS过滤器进行更多定制,可以在SimpleCORSFilter
类中添加参数,以支持更多的CORS策略。例如,如果需要限制特定端口或域名,可以通过修改允许的方法和头参数来实现。
通过上述方法,你可以轻松在Spring Boot应用中配置CORS过滤器,确保前后端通信时跨域请求更加顺畅。
转载地址:http://ssryk.baihongyu.com/