如何获取被调用方法resteasy的url

nic*_*rma 2 rest resteasy jakarta-ee

我使用 Restaeasy (java) 创建一项 Rest 服务,该服务必须返回与调用的 URL 相同的 URL,但使用一个新字符串

呼叫服务示例:

Post => mybase/myservice/somewrite 并带有一些 JSON
| 响应 => mybase/myservice/somewrite/123456

所以我想用一种通用逻辑制作mybase/myservice/somewrite url,因为如果我输入String returnURL="mybase/myservice/somewrite";并更改,例如mybase响应的名称将不会很好

我想要这样的东西

someLogicService(JSON);
id=getId();
URL=getContextCallURL();
return URL+\/+id;
Run Code Online (Sandbox Code Playgroud)

但我不知道这是否可以做到,更不知道如何做到

Thi*_*ier 5

UriInfo您还可以使用资源中的注释注入类型的实例Context,如下所述:

@Context
private UriInfo uriInfo;

@POST
@Path("/")
@Consumes(MediaType.APPLICATION_JSON)
public Response makeContact(Contact contact)  {
    String requestUri = uriInfo.getRequestUri();
    (...)
}
Run Code Online (Sandbox Code Playgroud)

希望它对你有帮助,蒂埃里