Ya estuvimos viendo en su día, aquí, cómo hacer un servicio web con Jersey. Hoy veremos cómo hacer su cliente. Y para el ejemplo nos basaremos en el Web Service que creamos en su día y sobre el que hicimos pruebas con REST Assured, también lo podéis ver aquí.
La verdad, es que es bastante intuitivo, así que para utilizaremos un CRUD de ejemplo y así podremos ver las distintas opciones que nos ofrece. En forma resumida una llamada se compondrá de los siguientes elementos.
Con el método path, podemos añadir URI params asociados a la URL. Y con el método queryParam podríamos añadir Query Param, indicando el nombre del parámetro y su valor asociado.
El método POST será muy similar, solo que en vez de indicar qué tipo de objeto genera, indicaremos que tipo de objeto recibe.
El método PUT será una mezcla de ambos
Y el delete el más sencillo
Como veis todo muy intuitivo. Si queréis aquí tenéis el código fuente.
La verdad, es que es bastante intuitivo, así que para utilizaremos un CRUD de ejemplo y así podremos ver las distintas opciones que nos ofrece. En forma resumida una llamada se compondrá de los siguientes elementos.
- Utilizaremos un objeto de tipo javax.ws.rs.client.Client.
- Pasaremos la URL que queremos invocar.
- Pasaremos los URI o Query params asociados a esa URL, opcional.
- Invocaremos al método request, que nos permite realizar la invocación.
- Indicaremos el tipo de método REST asociado a la invocación y dependiendo del método, que tipo de objeto devuelve o recibe.
private static String REST_URI = "http://localhost:8080/JerseyExample/rest/book"; public Book getOne(final Integer id) { return client.target(REST_URI).path(String.valueOf(id))
.request(MediaType.APPLICATION_JSON).get(Book.class); }
Con el método path, podemos añadir URI params asociados a la URL. Y con el método queryParam podríamos añadir Query Param, indicando el nombre del parámetro y su valor asociado.
El método POST será muy similar, solo que en vez de indicar qué tipo de objeto genera, indicaremos que tipo de objeto recibe.
public Response saveOne(final Book book) { return client.target(REST_URI).request(MediaType.APPLICATION_JSON)
.post(Entity.entity(book, MediaType.APPLICATION_JSON)); }
El método PUT será una mezcla de ambos
public Response updateOne(final Integer id, final Book book) { return client.target(REST_URI).path(String.valueOf(id))
.request(MediaType.APPLICATION_JSON)
.put(Entity.entity(book, MediaType.APPLICATION_JSON)); }
Y el delete el más sencillo
public Response deleteOne(final Integer id) { return client.target(REST_URI).path(String.valueOf(id))
.request(MediaType.APPLICATION_JSON).delete(); }
Como veis todo muy intuitivo. Si queréis aquí tenéis el código fuente.
No hay comentarios:
Publicar un comentario