Jersey UriBuilder可以替换URI中的所有模板:
UriBuilder.fromResource(this.getClass()).path("{id}/{op}").build(12, "buy")
在客户端,它正是我们想要的;在服务器端,在某些情况下,我们希望保留一些模板不变(以通知客户端URI取决于它,必须用值填充它)。
如果不提供所有模板构建URI,则会引发异常。那么,有没有其他方法可以保留一些模板不变呢?
UriBuilder.fromResource(this.getClass()).path("{id}/{op}").toTemplate();
build()
中的第一个参数,会发生什么情况?例如,在您的示例代码中使用"{id}"
。我不知道答案;这取决于如何检查完整URI,我不想阅读代码并且没有安装Jersey。 - Donal Fellows{
和}
替换为%7B
和%7D
。 - yves amsellemUriBuilder
返回一个URI
;toString()
将那些%7
转换成了字符,而getPath()
保留了{
。 - yves amsellem