java – 你能完全禁用Spring中的CORS支持吗?

前端之家收集整理的这篇文章主要介绍了java – 你能完全禁用Spring中的CORS支持吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedMethods("HEAD","GET","PUT","POST","DELETE","PATCH");
    }
}

如果您使用的是Spring Boot:

@Configuration
public 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答案.

原文链接:https://www.f2er.com/spring/431884.html

猜你在找的Spring相关文章