如何解决调用 Eureka API 时 Angular 中的 CORS 源错误
我有 Java Spring Boot 应用程序,其中包含 Eureka 服务器应用程序(Java 项目)和其他 Eureka 客户端应用程序(Java 项目)。在 Eureka Server Application 项目中,我通过自己的 Controller 类公开了一些 Rest API,并且在 Spring Boot Application 中配置 CORS 设置后,可以从 Angular (localhost:4200) 访问这些 API (localhost:8100/someApi) 没有任何问题。
但是由于 CORS 错误,无法从 Angular 访问我的 Java 应用程序库类中的某些 Rest API。但是其他 Rest API 是可以访问的,这些 API 是在我创建的控制器类中定义的。
这些是我尝试访问的 API。 https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
这些 API 位于库代码中,如果我们在 pom.ml 中提及依赖项,则会添加这些代码。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
我在尝试从 Angular 访问这些 Eureka API 时遇到 CORS 阻止错误,但通过 Postman 工作正常。请帮忙。
解决方法
您是否在 SpringBoot 应用程序中启用了跨源的东西。 您可以通过默认添加@CrossOrgina 注释在控制器级别启用 corss 源吗?它将允许所有源,包括所有 http 方法,或者可以添加自定义的全局配置,如下所示。
@Bean
Public WebMvcConfigurer corsConfigurer(){
return new WebMvcConfigurer(){
@Override
public void addCorsMapping(CoreRegistry registry){
registry.addMapping("/**").allowdOrgin("*");
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。