繁体   English   中英

无法从我的Angle 5项目中启动Spring Boot Rest API

[英]Unable to hit spring boot Rest API from my angular 5 project

我正在准备一个基于微服务的示例应用程序,我想在该应用程序中找到用Spring Boot编写的后端API。 现在,我希望它从我的angular 5 UI应用程序中运行。

但是变得低于错误。 我做了ctrl + F12,从控制台我得到了以下错误。

无法加载http:// localhost:8080 / contacts :所请求的资源上没有“ Access-Control-Allow-Origin”标头。 因此,不允许访问源' http:// localhost:4200 '。

您需要在基于Spring Boot的微服务中允许CORS( 跨域资源共享 )。

Pivotal团队的本教程很好地解释了如何在Spring Boot应用程序中实现CORS支持:

https://spring.io/blog/2015/06/08/cors-support-in-spring-framework

如果您使用的是Spring Boot,建议仅声明一个WebMvcConfigurer bean,如下所示:

@Configuration
 public class MyConfiguration {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**");
            }
        };
    }
 }

我建议使用角度代理配置。

1)在前端根目录(package.json文件旁边)中创建一个新文件。 您可以随意命名文件,例如proxy.config.json。 该文件包含一个javascript对象。

 {
  "/api/*": {
    "target": "http://localhost:8080",
    "secure": false
  }
}

2)将“ ng start”脚本更改为package.json以"start": "ng serve --proxy-config proxy.config.json"

3)重新启动cli服务器(如有必要)

从angular-cli服务器到/ api的每个调用都将重定向到http:// localhost:8080 / api 这样,您不必触摸CORS配置,也不会影响生产安全性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM