【问题标题】:CORS origin error in Angular while calling Eureka APIAngular 调用 Eureka API 时出现 CORS 来源错误
【发布时间】:2021-08-30 14:03:21
【问题描述】:

我有 Java Spring Boot 应用程序,其中包含 Eureka 服务器应用程序(Java 项目)和其他 Eureka 客户端应用程序(Java 项目)。在 Eureka Server Application 项目中,我有一些通过我自己的 Controller 类公开的 Rest API,并且在 Spring Boot Application 中配置 CORS 设置后,这些 API(localhost:8100/someApi)可以从 Angular(localhost:4200)访问而没有任何问题。

但是由于 CORS 错误,我的 Java 应用程序的库类中的一些 Rest API 无法从 Angular 访问。但是可以访问其他在我创建的 Controller 类中定义的 Rest API。

这些是我尝试访问的 API。 https://github.com/Netflix/eureka/wiki/Eureka-REST-operations

这些 API 在库代码中,如果我们在 pom.ml 中提及依赖项,就会添加这些 API。

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

我在尝试从 Angular 访问这些 Eureka API 时遇到 CORS 阻止错误,但通过 Postman 可以正常工作。请帮忙。

【问题讨论】:

    标签: java angular spring-boot cors netflix-eureka


    【解决方案1】:

    您是否在 SpringBoot 应用程序中实现了跨源功能。 您可以通过默认添加 @CrossOrgina 注释在控制器级别启用 corss 源吗?它将允许所有源,包括所有 http 方法,或者可以添加自定义的全局配置,如下所示。

    @Bean
    Public WebMvcConfigurer corsConfigurer(){
    return new WebMvcConfigurer(){
    @Override
    public void addCorsMapping(CoreRegistry registry){
    registry.addMapping("/**").allowdOrgin("*");
    }
    }
    }
    

    【讨论】:

    • 是的,我已经完成了这个全局配置,这就是我在 Controller 类中创建的 API 没有出现 CORS 的原因。但是对于库文件(Maven 依赖项)中的 Eureka API,由于 CORS 问题,Angular 无法正常工作。
    • 您是否从角度侧添加了 cros Enble。
    • 我想从服务器端而不是客户端来做。
    猜你喜欢
    • 2017-06-03
    • 2016-06-10
    • 1970-01-01
    • 2020-06-17
    • 2020-01-21
    • 2017-10-17
    • 2020-12-06
    • 2020-03-05
    • 2022-06-28
    相关资源
    最近更新 更多