如果我有一个 java.net.URL 对象,指向让我们说
http://example.com/myItems
或 http://example.com/myItems/
在某处是否有一些帮助程序可以将一些相对 URL 附加到此?例如附加 ./myItemId
或 myItemId
得到: http://example.com/myItems/myItemId
原文由 fulmicoton 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我有一个 java.net.URL 对象,指向让我们说
http://example.com/myItems
或 http://example.com/myItems/
在某处是否有一些帮助程序可以将一些相对 URL 附加到此?例如附加 ./myItemId
或 myItemId
得到: http://example.com/myItems/myItemId
原文由 fulmicoton 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个不需要任何额外的库或代码并提供所需的结果:
//import java.net.URL;
URL url1 = new URL("http://petstore.swagger.wordnik.com/api/api-docs?foo=1&bar=baz");
URL url2 = new URL(url1.getProtocol(), url1.getHost(), url1.getPort(), url1.getPath() + "/pet" + "?" + url1.getQuery(), null);
System.out.println(url1);
System.out.println(url2);
这打印:
http://petstore.swagger.wordnik.com/api/api-docs?foo=1&bar=baz
http://petstore.swagger.wordnik.com/api/api-docs/pet?foo=1&bar=baz
只有在主机之后没有路径时,接受的答案才有效(恕我直言,接受的答案是错误的)
原文由 Christoph Henkelmann 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
URL
有一个采用基础URL
和String
规范的 构造函数。或者,
java.net.URI
更符合标准,并且有一个resolve
方法来做同样的事情。使用URI
从你的URL
创建一个 ---URL.toURI
。