0

假设我有这个端点:

@GET
@Path("/{product}")
@Produces(MediaType.APPLICATION_JSON)
public String getProduct(
        @PathParam("product") final String product) {
    return createSignature(<<PLACE COMPLETE URL HERE>>);
}

我如何知道从端点内部调用的完整 URL,以便基于它创建签名?谢谢

4

2 回答 2

2

@Context HttpServletRequest request您可以通过将参数添加到您的方法来访问原始请求。然后,您可以访问您想要对请求执行的任何操作。

于 2013-04-02T18:02:17.897 回答
2

有几种方法。通常,您可以向资源类的方法或字段添加特殊参数。特殊参数由类型(HttpServletRequest 或 UriInfo)识别,应使用 annotaiton 进行标记@Context

@StormBringerX 已经提到可以使用方法参数(+1)传递信息。我个人更喜欢将其添加为您的类的一个字段,因为我认为这更清晰,并且允许创建仅接受应用程序级参数的方法。

于 2013-04-02T18:06:55.033 回答