使用UriBuilder在构建器URI中保留一些{template}

yve*_*lem 5 java uri jax-rs jersey

Jersey UriBuilder可以替换URI中的所有模板:

UriBuilder.fromResource(this.getClass()).path("{id}/{op}").build(12, "buy")
Run Code Online (Sandbox Code Playgroud)

在客户端,这正是我们想要的;在服务器端,在某些情况下,我们希望某些模板保持不变(以通知客户端URI依赖于它,它必须用值填充它)。

在不提供所有模板的情况下构建URI会引发异常。因此,还有另一种方法可以使某些模板保持不变吗?

rob*_*lco 4

我认为正确的方法是调用#toTemplate。这将创建一个模板字符串。我认为具有未解析模板参数的 URI 无效。这是一个例子:

UriBuilder.fromResource(this.getClass()).path("{id}/{op}").toTemplate();
Run Code Online (Sandbox Code Playgroud)

这将保留模板占位符。