我正在尝试添加链接到我的 jax-rs 响应 header :
Link.fromMethod(UserResource.class, "delete")
.baseUri(getUriInfo().getBaseUri()).rel("delete").build(id);
虽然我在每个调试器中看到并记录 getUriInfo().getBaseUri()
返回正确的 uri,但生成的链接仅为 /1
(对于 id=1 )。
使用 UriBuilder 可以正常工作!
URI build = getUriInfo().getBaseUriBuilder().path(UserResource.class, "delete").build(id);
Link.fromUri(build).rel("delete").build();
getUriInfo
只是从注入(inject)了 @Context
的基类返回 uriInfo。
那么如何让它与 Link 一起工作(它应该工作,不应该工作)?
最佳答案
这对我有用:
UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder();
UriBuilder clone = uriBuilder.clone();
clone.path("xxx");
Link link = Link.fromUriBuilder(clone).rel("self").type("GET").build();
克隆,因为我重新使用构建器
关于hyperlink - jax-rs 链接生成器忽略基本 uri,想要创建绝对链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30933694/