Jersey Client / JAX-RS und optional (nicht standardmäßig) @QueryParam (clientseitig)

Ich habe eine RESTful-API, deren Dokument besagt, dass ein bestimmter Abfrageparameter optional ist und kein Standardargument liefert. Daher kann ich den Wert entweder angeben oder nicht als Parameter in der GET-Anforderung senden.

Beispiel

queryA Wird benötigqueryB istOptiona (kann sendenGET ohne es

Das sollte funktionieren

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

Dies sollte auch funktionieren:

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

Wie erstelle ich eine Client-Schnittstelle für Jersey-Proxy das kann das ??Ich habe nicht den serverseitigen Code Schnittstelle mit so verwende ichorg.glassfish.jersey.client.proxy.WebResourceFactory über Jersey-Proxy, um den Client für die Interaktion mit der Server-API zu generieren.

Sample interface:

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);

}

Ich weiß, ich kann eine andere Methode machen:

    @Path("/endpoint")
    @GET
    public Response getEndpoint(
            @QueryParam("queryA") String first);

Aber was passiert, wenn Sie mehrere optionale Felder haben? Ich möchte nicht jede mögliche Mutation von ihnen machen!