hyperlink - jax-rs 链接生成器忽略基本 uri,想要创建绝对链接

标签 hyperlink jax-rs hateoas

我正在尝试添加链接到我的 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/

相关文章:

json - 休息 HATEOAS : How to determine and set media-type while browsing links?

java - Spring Hateoas 忽略查询参数

ruby-on-rails-3 - 如何在 Rails 中实现 HATEOAS

vue.js - Vuetify 自动完成链接

java - 为什么JPA里面有 "too many connections"?

java - 自定义类上的 readEntity 抛出 MessageBodyProviderNotFoundException

java - SpringFox 找不到 jax-rs 端点

html - 添加第二个超链接时,超链接的行为类似于标签

jquery - Safari 没有获取 jquery 点击功能

php - 将 HTML 转换为 PHP 时,CSS 'active' 不起作用