在 spring 中以编程方式获取应用程序域 + 端口和路径? [英] get application domain + port and path programmatically in spring?
问题描述
我的网站调用了也在同一个应用程序上的休息服务.如果其余地址托管在不同的域名和/或端口上,我不想更改它的域.我想以编程方式获取域、端口和应用程序路径.
如果我们正在访问该网站
希望我不会迟到.
我遇到了与您类似的问题,我设法使用 ServletUriComponentsBuilder
解决了您问题的第一部分.
我一直这样使用它来获取当前服务器 URL:
ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString();
这将为我返回 http://localhost:8080
我写的所有内容都不起作用,我正在处理与 OP 类似的问题,并且此修复程序部分对我有用,经过一番挖掘后,我发现了这个问题,该问题已得到解答:
是否可以从任务调用的 Spring 服务中获取 Web 应用程序的完整 url?
这家伙还说这是不可能的:如何在 Spring MVC 启动期间找到基本 URL?
My website calls a rest service which is also on the same application. I don't want to change the domain of the rest address if it's hosted on a different domain name and/or port. I want to get the domain, port and application path programmatically.
If we are accessing the website like
then I should get http://example.com
or if our address is like below
http://example.com:8080/ArticleSite/article1
then I want to get http://example.com:8080/ArticleSite
How can this be done?
I did look at the answers at
What's the best way to get the current URL in Spring MVC?
but non are getting the application path.
Hope im not late for the party.
I had issue similar to yours, and i managed to solve first part of your question by using ServletUriComponentsBuilder
.
I've been using it like this to get current server URL:
ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString();
which would return http://localhost:8080 for me
EDIT: everything i wrote will not work, i'm working on a similar issue as OP, and this fix partially worked for me, after some digging i found this question, that has already been answered:
Is possible to get web application full url from Spring service that is invoked by task?
EDIT2: this guy also says it's not possible: How do I find base URL during Spring MVC startup?
这篇关于在 spring 中以编程方式获取应用程序域 + 端口和路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!