Spring Boot配置跨域后PUT和DELETE请求自动变成OPTION请求的解决方案

Spring Boot配置跨域后PUT和DELETE请求自动变成OPTION请求的解决方案

在配置前后端分离的项目时,前端和后端都需要对数据跨域做相应的处理

Spring Boot可以通过配置的方式进行处理,重写WebMvcConfigurer 的 addCorsMappings方法,将mapping配置为“/**”,就可以解决通常情况下的跨域问题了

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
            	
                registry.addMapping("/**");
            }
        };
    }

但是Spring Boot默认对请求方法只支持GET、HEAD和POST方式,如果采用其他方式的请求,如DELETE,PUT等,会变成option请求。为了满足标准的Restful API,需要对默认的进行扩充,代码如下

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*") //允许所有的url
                        .allowCredentials(true)
                        .allowedMethods("GET", "POST", "PUT", "DELETE");
            }
        };
    }
全部评论

相关推荐

05-30 18:54
武汉商学院 Java
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务