java - 后调用的 CORS 请求无效?

标签 java spring spring-boot netflix-zuul

Request URL: ******
Request Method: OPTIONS
Status Code: 403 
Remote Address: ****
Referrer Policy: no-referrer-when-downgrade

对于调用后浏览器将其显示为选项。

以下是服务器代码:

@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            System.out.println("onboard cors");

            registry.addMapping("/**").allowedMethods("GET", "PUT", "POST", "DELETE", "OPTIONS").allowedOrigins("*").allowedHeaders("*");
        }
    };
}

当我直接调用相应的服务时,上面的代码工作正常。

但通过 zuul api 网关调用服务时出现“无效的 cors 请求”错误。

请问有什么建议吗?

最佳答案

您的浏览器首先检查 POST 方法是否可以安全地发送到端点,如果是,则执行 POST 请求。您应该向 OPTIONS 方法提供权限并使用 Allow: GET, HEAD, POST 进行响应,一切都应该没问题。我在使用 Python 时遇到了这个问题,所以这都是关于 CORS 的,不依赖于平台。

查看更多相关信息here

关于java - 后调用的 CORS 请求无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298839/

相关文章:

java - 尝试使用 Spring Boot 调用本地 Web 服务时返回错误

java - Spring-security:登录用户页面时得到http状态405

java - GraphQL 和 Spring Boot 2.0.3

java - 无法将 @Stateless EJB 注入(inject) CDI bean(多模块)Jakarta EE 8

java - 如何用 spring batch 解析 json 文件?

java - 从 Spring 中的其余 Controller 返回错误消息和描述的问题

java - spring boot项目将依赖类定义为spring bean

java - 当相关测试标记为通过时,TestNG 跳过 @Test

java - 添加到静态成员字段

java - 在 AWS EMR 自定义 jar 应用程序中指定其他 jar