Belge, belirli bir sorgu parametresinin isteğe bağlı olduğunu ve varsayılan bir argüman sağlamadığını söyleyen bir RESTful API'm var. Yani, değeri sağlayabilir ya da GET isteğine bir parametre olarak göndermeyebilirim.Jersey Client/JAX-RS ve isteğe bağlı (varsayılan değil) @QueryParam (istemci tarafı)
Örnek:
http://www.example.com/service/endpoint?queryA=foo&queryB=bar
T:
queryA
queryB
isteğe (olmadan
GET
gönderebilir)
Bu çalışması gerekir Gerekli olan onun da çalışması gerekir:
http://www.example.com/service/endpoint?queryA=foo
Bunu nasıl yapabilirim Jersey-Proxy için bir istemci arabirimi yapabilirim ?? Arabirim için sunucu tarafı kod yok, bu nedenle sunucu API'siyle etkileşime geçmek için istemci oluşturmak için Jersey-Proxy aracılığıyla org.glassfish.jersey.client.proxy.WebResourceFactory
kullanıyorum.
Numune arayüzü: Ben başka bir yöntem yapabilirsiniz biliyorum
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);
Ama birden isteğe bağlı alanları olduğunda ne olur ?? Bunların olası her mutasyonunu yapmak istemiyorum!
: http://stackoverflow.com/questions/13968261/required-queryparam-in-jax-rs-and-what-to-do-in-their-absence – quintin
İşte sunucu tarafı içindir, istemci tarafı değil. – justderb