如CORS preflight request fails due to a standard header中所述,如果您使用Origin和Access-Control-Request-Method标头设置向OPTIONS端点发送请求,那么它们将被Spring框架拦截,并且您的方法不会被执行.接受的解决方案是使用@CrossOrigin注释来阻止Spring返回403.但是,我使用Swagger Codegen生成我的API代码,所以我只想禁用它并手动实现我的OPTIONS响应.
那么你可以在Spring中禁用CORS拦截吗?
最佳答案从他们documentation:如果您使用的是Spring Web MVC
@Configuration@EnableWebMvcpublic class WebConfig extends WebMvcConfigurerAdapter { @OverrIDe public voID addCorsMapPings(CorsRegistry registry) { registry.addMapPing("/**") .allowedMethods("head","GET","PUT","POST","DELETE","PATCH"); }}
如果您使用的是Spring Boot:
@Configurationpublic class MyConfiguration { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @OverrIDe public voID addCorsMapPings(CorsRegistry registry) { registry.addMapPing("/**") .allowedMethods("head","PATCH"); } }; }}
Yuriy Yunikov的回答也是正确的.但我不喜欢“自定义”过滤器.
万一你有Spring Web Security导致麻烦.检查this SO答案. 总结
以上是内存溢出为你收集整理的java – 你能完全禁用Spring中的CORS支持吗?全部内容,希望文章能够帮你解决java – 你能完全禁用Spring中的CORS支持吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)