如何获取当前在JAX-RS中调度的资源的完整URI?我正在尝试返回新创建的对象的URI,并需要它的前缀部分,主机,端口等:
// @import-s skipped
public class Factory {
@POST
public final Response create() {
Integer id;
// new object created and id is set
return Response.created(
URI.create(prefix + "/object/" + id)
).build();
}
}
我在哪里可以获得此prefix
部分?
答案 0 :(得分:4)
一种方法是注入UriInfo
:
public final Response create(@Context UriInfo info) {...}
此时,您可以直接使用info
,也可以使用UriBuilder
方法之一获取get*Builder
。