将相对 URL 附加到 java.net.URL
前提是我有一个java.net.URL对象,指向让我们说
http://example.com/myItems
或http://example.com/myItems/
是否有一些助手可以在某个地方附加一些相关的URL?例如追加或获取:./myItemId
myItemId
http://example.com/myItems/myItemId
前提是我有一个java.net.URL对象,指向让我们说
http://example.com/myItems
或http://example.com/myItems/
是否有一些助手可以在某个地方附加一些相关的URL?例如追加或获取:./myItemId
myItemId
http://example.com/myItems/myItemId
这个不需要任何额外的库或代码,并给出所需的结果:
//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
接受的答案仅在主机后面没有路径时才有效(恕我直言,接受的答案是错误的)
URL
具有一个构造函数,该构造函数采用基本 URL
和字符串
规范。
或者,更紧密地遵守标准,并具有执行相同操作的解决
方法。从您的使用 URL.toURI
创建一个。java.net.URI
URI
URL