【发布时间】: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