gpt4 book ai didi

Java Spring REST API CORS 不适用于通过 jQuery 和 Chrome 的 DELETE 请求

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:49 25 4
gpt4 key购买 nike

我正在创建一个使用 jQuery 编写的 Web 前端,它将 REST 请求发送到使用 Spring 框架以 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 添加到 Controller 的方法中,这解决了我的问题

关于Java Spring REST API CORS 不适用于通过 jQuery 和 Chrome 的 DELETE 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com