java – 如何在JAX-RS中获取当前调度的Web资源的URI?

如何获取当前在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();
  }
}

我在哪里可以得到这个前缀部分?

最佳答案
一种方法是注入UriInfo:

public final Response create(@Context UriInfo info){…}

此时,您可以直接使用info或从其get * Builder方法中获取UriBuilder.

转载注明原文:java – 如何在JAX-RS中获取当前调度的Web资源的URI? - 代码日志