Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hyperlink jax rs链接生成器正在忽略基本uri,是否要创建绝对链接_Hyperlink_Jax Rs_Hateoas - Fatal编程技术网

Hyperlink jax rs链接生成器正在忽略基本uri,是否要创建绝对链接

Hyperlink jax rs链接生成器正在忽略基本uri,是否要创建绝对链接,hyperlink,jax-rs,hateoas,Hyperlink,Jax Rs,Hateoas,我正在尝试向我的jax rs响应头添加链接: Link.fromMethod(UserResource.class, "delete") .baseUri(getUriInfo().getBaseUri()).rel("delete").build(id); 虽然我在每个调试器和日志中看到getUriInfo().getBaseUri()返回正确的uri,但生成的链接只是/1(对于id=1) 使用UriBuilder,它正在工作 URI build = getUriInfo()

我正在尝试向我的jax rs响应头添加链接:

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
仅从注入
@Context
的基类返回uriInfo

那么如何让它与Link一起工作(它应该工作,不是吗)?

这对我来说很有用:

UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder();
UriBuilder clone = uriBuilder.clone();
clone.path("xxx");
Link link = Link.fromUriBuilder(clone).rel("self").type("GET").build();

克隆因为我重复使用构建器

我目前正在研究同样的事情,查看链接的源代码(在我的例子中由Resteasy提供),我发现baseUri除了buildRelativeized()方法外,其他地方都没有使用,它只使用它来剥离它并返回一个相对uri。虽然您使用UriBuilder的第二个代码片段并不那么难看,但我们在这里似乎运气不佳。