java - Spring Boot 注册没有上下文路径的 API 调用

标签 java spring-boot

我有一个在外部 tomcat 上运行的应用程序,其中将自动为 war 文件名创建上下文路径(类似于 http://localhost:8080/testApp )。我有现有的 js 调用正在调用一些现有的休息服务。这些 js 调用的方式不包含上下文路径(如 http://localhost:8080/v1/getUsersList ),但 Rest API 会使用上下文路径自动注册

@Controller
@RequestMapping("/v1")
public class MyController {

    @GetMapping("/getUsersList")
    public ResponseEntity getUsers....{}
}

因此,为此我将 API 注册为 http://localhost:8080/testApp/v1/getUsersList

请告知如何处理这种不匹配(请注意,我无法修改如何进行 js api 调用的代码,我可以更新 Controller 并在 Tomcat conf 中添加一些属性)。 谢谢

最佳答案

使用完整的 URL 进行休息通话:- http://localhost:8080/v1/getUsersList 而不是相对 URL :-/v1/getUsersList 当您使用相对路径进行其余调用时,它假定您正在调用同一应用程序,因此默认情况下将添加当前上下文 在相对 URL 之前:- http://localhost:8080/testApp/v1/getUsersList

关于java - Spring Boot 注册没有上下文路径的 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298395/

相关文章:

spring-boot - Spring Boot日志记录如何设置logging.file.max-size无限制

java - 一步检查空值和字符串是否为空

java - Eclipse 调试变量值不出现

java - 如何初始化驱动程序以避免 NullPointerException 错误

spring - 如何在 Spring Boot 应用程序中禁用 DefaultSecurityFilterChain?

即使包装在空检查中,spring 2.0 findbugs nullable 也会抛出错误

java - Vim 高亮静态变量

java - 为什么 JGraphT 中的 isEulerian() 对我来说是一个 undefined symbol ?

angularjs - 如何处理 Spring Boot Angular 应用程序安全

Java Spring Data 指定模式