首页 > 解决方案 > 在应用程序的 Elastic Beanstalk 端点中部署应用程序后,在带有 maven 的 SpringBoot+MySql+Angular 应用程序中找不到 404

问题描述

实际上是我第一次使用 AWS 部署,而自己做这件事更难。在 Elastic Beans 及其各自的 RDS 数据库及其实例中创建了我的应用程序后,我在我的 Springboot 应用程序上创建了一个快照(jar),该应用程序也在 AWS 应用程序的部署过程中实现。在其软件类别中还配置了几个项目,指的是 RDS 数据库端点、服务器端口、数据库的用户名等 在此处输入图像描述

然后在所有这些过程之后,使用 url 部署应用程序。但是,当我将该 url 与我的 springboot 控制器具有的端点应用时,我收到错误 404 Not Found;但是如果我决定在本地工作,只请求由 Elastic Bean 中的应用程序创建的 RDS 数据库,端点会显示数据并且应用程序可以工作

从字面上看,我在应用程序中声明了我的 Spring Boot 应用程序。属性与 AWS 中该数据库的连接

spring.datasource.url=jdbc:mysql://aat54g98qswmf3.clnhc7kmwszz.us-west-2.rds.amazonaws.com:3306/ebdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

spring.datasource.username=root
spring.datasource.password=xxxx
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

logging.level.org.hibernate.SQL=debug

因此我在春季在本地工作的控制器没有任何问题


@RequestMapping(path = "/restaurant-booking/version1")
public class RestaurantController {

    @Autowired

    RestaurantService restaurantService;

    @ResponseStatus(HttpStatus.OK)
    @RequestMapping(value = "/restaurant/all", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    some code.........
    };

然后在我的浏览器上: 在此处输入图像描述

但是,如果我切换到 AWS 中部署的 EB 应用程序促成的 url,并使用相同的端点

在此处输入图像描述

任何帮助家伙都会很棒,因为老实说找不到问题或在哪里看!提前致谢!!!

标签: javaamazon-web-servicesspring-bootamazon-elastic-beanstalkamazon-rds

解决方案


当你没有定义自己的时候,whitelabel 错误页面是 spring 中默认的错误页面。这意味着您的应用程序已部署并正在运行。你要么搞砸了你的请求映射或你的网址。

如果我们查看您的映射,我们会看到 url 应该是 .../restaurant-booking/version1/restaurant/all

请求映射在类和方法级别时会嵌套。

您实际上在本地使用了正确的 url,但没有在您部署的版本上使用。


推荐阅读