gpt4 book ai didi

java - 如何在 Spring boot Controller 中获取给定路径的 URL?

转载 作者:行者123 更新时间:2023-11-29 04:20:51 34 4
gpt4 key购买 nike

在百里香中我们有:

<a th:href="@{/somepath}">Link</a>

它变成了:

<a href="http://hostname:port/somepath">Link</a>

我想获取完整的 URL 给定路径,就像在 Controller 中那样:

@GetMapping(path="/")
public String index(SomeInjectedClass cls) {
String link = cls.someMethod('/somepath');
// expected, link = http://hostname:port/somepath
return "index";
}

@GetMapping(path="/home")
public String home(SomeInjectedClass cls) {
String link = cls.someMethod('/somepath');
// expected, link = http://hostname:port/somepath
return "home";
}

已编辑这个问题可以理解为:

public static String APPLICATION_BASE_URL = "http://hostname:port";
function someMethod(String method){
return APPLICATION_BASE_URL + method;
}

我认为 APPLICATION_BASE_URL 很丑陋,因为我可以在任何地方部署。我想知道 spring boot 甚至 java 中是否有一个漂亮的函数来获取我的应用程序的基本 URL。

最佳答案

方法是使用HttpServletRequest

@GetMapping(path="/")
public String index(HttpServletRequest httpServletRequest) {
String link = httpServletRequest.getRequestURL();
return "index";
}

关于java - 如何在 Spring boot Controller 中获取给定路径的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49257327/

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