加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 01:23:25 所属栏目:大数据 来源:网络整理
导读:如CORS preflight request fails due to a standard header中所述,如果您使用Origin和Access-Control-Request-Method标头设置向OPTIONS端点发送请求,那么它们将被Spring框架拦截,并且您的方法不会被执行.接受的解决方案是使用@CrossOrigin注释来阻止Spring返

如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答案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读