gpt4 book ai didi

java - 在 Tomcat 上部署时,Spring Boot HATEOAS 链接错误

转载 作者:行者123 更新时间:2023-11-28 22:18:17 25 4
gpt4 key购买 nike

我已经使用 Spring Boot 为 AngularJS 应用程序开发了一个 REST API。我正在运行 Java 8 并在运行 Oracle 的 JDK8 的 Ubuntu 上部署到 Tomcat 8。当我从 Eclipse 中运行时,或者如果我将应用程序作为 JAR 运行时,一切正常。如果我点击 localhost:9000/api 我会得到如下输出:

{
"expenses" : {
"href" : "http://localhost:9000/api/expenses"
},
"expenseTypess" : {
"href" : "http://localhost:9000/api/expensetypes"
},
....
}

如果我将应用程序打包为 WAR 并将其部署到位于/myapplication 的 Tomcat 上,我会丢失应用程序根目录后的尾部斜杠。调用 192.168.1.170:8080/myapplication/api 返回:

{
"expenses" : {
"href" : "http://192.168.1.170:8080/myapplicationapi/expenses"
},
"expenseTypess" : {
"href" : "http://192.168.1.170:8080/myapplicationapi/expensetypes"
},
....
}

...这显然会导致所有内容爆炸,因为没有一个 API 链接是正确的。如果我手动调用正确的 URI,则返回的资源也有损坏的链接。

有没有人看到并克服它?

最佳答案

嗯,答案真的很简单。如此简单,我什至忽略了去想它。我在 application.properties 中为 API 定义了一个基本 URI:

spring.data.rest.base-uri=api

更改为:

spring.data.rest.base-uri=/api

解决了这个问题:/

关于java - 在 Tomcat 上部署时,Spring Boot HATEOAS 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34861200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com