java - 提供外部 Tomcat 时的 Spring Boot REST Web 服务端点

标签 java maven spring-boot pom.xml

我有一个使用 Spring Boot 和 Maven 构建的简单 java Web 应用程序。每次我修改 pom.xml 中的 Artifact 版本时,我的 Web 服务端点都会发生变化。

例如,假设在 Controller 类中我有 @RequestMapping("/api/v1/") 注释并假设以下 pom 摘录

<artifactId>myConv</artifactId>
<version>1.0.0</version>

Web 服务端点将为 http://localhost/myConv-1.0.0/api/v1/ ....

如果我将版本更改为 1.0.2,端点将是 http://localhost/myConv-1.0.2/api/v1/ ....

如何使其静态?

谢谢。

更新

我发现该解决方案不起作用,因为提供的服务器(Wildfly)覆盖了 spring 应用程序上下文。

我已经解决了更改指定上下文的问题 here .

但是有人可以解释一下为什么吗?

更新 2 - 在外部服务器上部署时的解决方案

我发现这个指南似乎不错https://octopus.com/blog/defining-tomcat-context-paths

最佳答案

您需要设置上下文路径属性 application.ymlapplication.properties 中的 server.servlet.context-path=/ ,您将能够访问 REST api http://localhost/api/v1/

关于java - 提供外部 Tomcat 时的 Spring Boot REST Web 服务端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040883/

相关文章:

java - 映射经度和纬度

java - Liquibase 未针对 Spring Boot/MySQL 应用程序执行

css - 如何在 div 的样式属性中引用背景图像?

java - 如何在具有两个场景的 JavaFXML Controller 中初始化圆形对象的双数组?

java - 生成器模式: nested objects created through other builders

java - 如何在 Eclipse 的 "Junit View"中查看 Maven 测试结果

java - Cassandra 2.1.3。如何提取CommitLog

java - 如果我将测试放在单独的模块中,如何在多模块 Maven 设置中运行单元测试?

Java 版本的 mongo 查询,用于从数组中检索唯一字符串以及计数

java - json 转 xml java