我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
我该如何为Jersey-Proxy制作一个客户端接口,以实现这个功能??我没有服务器端的代码与之交互,因此我使用
示例界面:
我有一个RESTful API的文档中说某个查询参数是可选的,并且没有提供默认参数。因此,我可以提供该值或不将其作为参数发送到GET请求中。
例如:
queryA
是必需的queryB
是可选的(可以在GET
中不发送它)
这应该可以工作:
http://www.example.com/service/endpoint?queryA=foo&queryB=bar
这也应该可以工作:
http://www.example.com/service/endpoint?queryA=foo
我该如何为Jersey-Proxy制作一个客户端接口,以实现这个功能??我没有服务器端的代码与之交互,因此我使用
org.glassfish.jersey.client.proxy.WebResourceFactory
通过Jersey-Proxy生成客户端来与服务器API进行交互。示例界面:
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/service")
@Produces("application/json")
public interface ServiceInterface {
@Path("/endpoint")
@GET
public Response getEndpoint(
@QueryParam("queryA") String first,
@QueryParam("queryB") String second);
}
我知道我可以创建另一个方法:
@Path("/endpoint")
@GET
public Response getEndpoint(
@QueryParam("queryA") String first);
但是当你有多个可选字段时会发生什么?我不想为它们的每种可能性都创建一个变异体!