gpt4 book ai didi

jakarta-ee - resteasy,如何初始化@Context UriInfo 参数以用于代理客户端调用?

转载 作者:行者123 更新时间:2023-12-05 06:40:25 25 4
gpt4 key购买 nike

我的 resteasy 端点接口(interface)声明如下:

@Path("/entity")
public interface EntitySearchEndpoint {
...
@GET
@Path("/search")
@Produces(MediaType.APPLICATION_JSON)
public Response search(@Context UriInfo ui);
...
}

现在我使用接口(interface)创建了代理客户端

ResteasyClient reClient = new ResteasyClientBuilder().build();
ResteasyWebTarget webTarget = reClient.target(URI.create("http://example.com"));
EntitySearchEndpoint entitySearchEndpoint = ncspAPIWebTarget.proxy(EntitySearchEndpoint.class);

现在我可以调用服务了

UriInfo ui = ???
Response response = entitySearchEndpoint.search(ui);

我的问题是如何创建 UriInfo 实例以仅包含必需的查询参数?
可能使用@Context UriInfo作为参数不正确,正确的方法是什么?
QueryParam 名称列表不受限制,允许任何名称...

最佳答案

如果我正确理解您的需求,您的 API 可能如下所示:

@Path("/entity")
public interface EntitySearchEndpoint {
...
@GET
@Path("/search/{searchQuery}")
@Produces(MediaType.APPLICATION_JSON)
public Response search(@PathParam("searchQuery") String searchQuery);
...
}

您的客户只需使用一个字符串来调用它:

Response response = entitySearchEndpoint.search("test string");

关于jakarta-ee - resteasy,如何初始化@Context UriInfo 参数以用于代理客户端调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com