Клиент Джерси / JAX-RS и опционально (не по умолчанию) @QueryParam (на стороне клиента)

У меня есть RESTful API, документ которого говорит, что определенный параметр запроса является необязательным и не предоставляет аргумент по умолчанию. Таким образом, я могу либо указать значение, либо не отправлять его в запросе GET в качестве параметра.

Пример:

queryA необходимоqueryB являетсянеобязательный (может отправитьGET без этого)

Это должно работать:

http://www.example.com/service/endpoint?queryA=foo&queryB=bar

Это также должно работать:

http://www.example.com/service/endpoint?queryA=foo

Как мне сделать клиентский интерфейс дляДжерси-прокси что может сделать это ??У меня нет серверного кода для взаимодействия с, поэтому я использую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);

Но что происходит, когда у вас есть несколько дополнительных полей? Я не хочу делать из них всевозможные мутации!

Ответы на вопрос(2)

Ваш ответ на вопрос