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

Java Spring REST API CORS不适用于通过jQuery与Chrome的DELETE

发布时间:2020-12-15 02:16:34 所属栏目:Java 来源:网络整理
导读:我正在创建一个使用jQuery编写的Web前端,它使用 Spring框架将REST请求发送到用 Java编写的REST Web服务.我在CORS请求中遇到了一个奇怪的错误.特别是,如果我使用Safari,一切正常;相反,使用Chrome,所有DELETE请求都失败(GET和POST请求在Chrome中也能正常工作).
我正在创建一个使用jQuery编写的Web前端,它使用 Spring框架将REST请求发送到用 Java编写的REST Web服务.我在CORS请求中遇到了一个奇怪的错误.特别是,如果我使用Safari,一切正常;相反,使用Chrome,所有DELETE请求都失败(GET和POST请求在Chrome中也能正常工作).

我得到的错误是:

Response to preflight request doesn't pass access control check: No 
'Access-Control-Allow-Origin' header is present on the requested 
resource. Origin 'null' is therefore not allowed access. 
The response had HTTP status code 403.

当Chrome发出第一个OPTIONS请求时会发生这种情况.

我关于CORS的代码是:

@Configuration
@EnableWebMvc
public class CorsConfigurator extends WebMvcConfigurerAdapter {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET","POST","DELETE","PUT","OPTIONS");
    }
}

@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class,args);
    }
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new CorsConfigurator();
    }

}

我还尝试将@CrossOrigin注释添加到我的@RestController,但没有任何改变.有人知道要解决这个问题吗?

谢谢,
马尔科

解决方法

我刚刚将@CrossOrigin添加到控制器中的方法中,这解决了我的问题

(编辑:李大同)

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

    推荐文章
      热点阅读