java - 在应用程序的 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,并使用相同的端点
任何帮助家伙都会很棒,因为老实说找不到问题或在哪里看!提前致谢!!!
解决方案
当你没有定义自己的时候,whitelabel 错误页面是 spring 中默认的错误页面。这意味着您的应用程序已部署并正在运行。你要么搞砸了你的请求映射或你的网址。
如果我们查看您的映射,我们会看到 url 应该是 .../restaurant-booking/version1/restaurant/all
请求映射在类和方法级别时会嵌套。
您实际上在本地使用了正确的 url,但没有在您部署的版本上使用。
推荐阅读
- python - 如何在 NetworkX 中使用 Circles 勾勒出圆形布局?
- ios - youtube 上传器可以阻止视频在 IOS 应用程序中播放吗
- ios - 如何使用 [] 括号解析 JSON?
- ios - 如何在没有 AppStore 的情况下构建 Flutter iOS 应用
- php - 如何跳过 Excel 的第一行以上传到我的数据库
- performance - 为什么 Racket 的实现比 MIT Scheme 快得多?
- opengl - 如何在没有重复顶点的情况下在 OpenGL 中实现平面着色?
- firebase - 在服务器端进行颤振 Firebase 身份验证
- c# - C# expando 从 JSON 创建并针对链接类模型进行有效性检查
- python - PIL、numpy 和 matplotlib 生成的绘图与原始图像的颜色大不相同