【问题标题】:Rest Service not working when deployed on AWS在 AWS 上部署时休息服务不起作用
【发布时间】:2018-09-09 11:20:53
【问题描述】:

这是我的休息服务。

@RestController
public class ProjectController {    
    @RequestMapping(method = RequestMethod.GET, value = "/getProjects")
    public ArrayList<Project> getProjects() {
        ArrayList<Project> projectList = new ArrayList<Project>();
        ProjectDao obj = new ProjectDao();
        projectList = obj.getProjects();
        return projectList;
    }
}

这是我调用此服务的 Angular 脚本。

$http({
    method: "GET",
    url: "/getProjects"
})
.then(
    function success(response) {
        ...
    },
    function error {
        alert("Error");
    }
);

当我在本地主机上运行应用程序时,这些工作正常。但是,当我在 AWS 上部署我的 spring-boot 应用程序并在服务器上运行它时它失败了。当我在浏览器中输入服务的 URL 时,服务器返回 HTTP 状态 404 - 请求的资源不可用 而不是 JSON 数据。这里有什么问题?

【问题讨论】:

  • 您如何为您的 Angular 应用程序提供服务?因为您在此处使用 /,所以如果您从 Spring Boot 应用程序所在的不同位置进行托管,那么 404 将是有意义的。在那种情况下,@Keval 关于跨域请求的观点也是正确的。另请记住,Spring Boot 应用程序在 8080 上运行,但如果您访问的是 SOME_IP_ON_AWS:8080,那么这可能是最简单的事情。除此之外,是否存在负载均衡器,或者使用 Apache 或 Nginx 代理设置错误的请求广告?

标签: angularjs amazon-web-services spring-boot amazon-elastic-beanstalk spring-restcontroller


【解决方案1】:

Mkyong 解决了它。

Here 是解决方案。

【讨论】:

    【解决方案2】:

    @RestController添加@CrossOrigin注解

    【讨论】:

      猜你喜欢
      • 2017-02-09
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 2013-07-05
      相关资源
      最近更新 更多