Java RESTful con JAX-RS 2.0 (Segunda edición)

La anotación @javax.ws.rs.QueryParam le permite inyectar parámetros de consulta de URI individuales en sus parámetros Java. Por ejemplo, supongamos que queremos consultar una base de datos de clientes y recuperar un subconjunto de todos los clientes de la base de datos. Nuestro URI podría verse así:

GET /customers?start=0&size=10

El parámetro de consulta de inicio representa el índice de clientes con el que queremos comenzar y el parámetro de consulta de tamaño representa cuántos clientes queremos que se devuelvan. El servicio JAX-RS que implementó esto podría tener este aspecto:

@Path("/customers")public class CustomerResource { @GET @Produces("application/xml") public String getCustomers(@QueryParam("start") int start, @QueryParam("size") int size) { ... }}

Aquí, usamos la anotación @ QueryParam para inyectar los parámetros de consulta URI «inicio» y «tamaño» en los parámetros Java inicio y tamaño. Al igual que con otras inyecciones de anotación, JAX-RS convierte automáticamente la cadena del parámetro de consulta en un entero.

Información de parámetros de consulta programática

Es posible que tenga que iterar a través de todos los parámetros de consulta definidos en el URI de solicitud. La interfaz javax.ws.rs.core.UriInfo tiene un método getQueryParameters() que le proporciona un mapa que contiene todos los parámetros de consulta:

public interface UriInfo {... public MultivaluedMap<String, String> getQueryParameters(); public MultivaluedMap<String, String> getQueryParameters(boolean decode);...}

Puede inyectar instancias de UriInfo utilizando la anotación @ javax.ws.rs.core.Context. Este es un ejemplo de cómo inyectar esta clase y usarla para obtener el valor de algunos parámetros de consulta:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.