有一种干净的方法可以用Apache URIBuilder构建这个示例吗?
"http://host/path", passing "path2" -> "http://host/path/path2"
"http://host/path", passing "/path2" -> "http://host/path2"
"resolve"方法不起作用,它总是返回:
http://host/path2
谢谢。
您应该在baseurl上添加一个尾部斜杠。
new java.net.URI("http://host/path/").resolve("path2"); // http://host/path/path2
new java.net.URI("http://host/path/").resolve("/path2"); // http://host/path2
如果没有尾部斜杠,path
将不会作为目录处理。然后,解析绝对或相对path2
并不重要,因为它们是针对host/
进行解析的