miércoles, 22 de enero de 2020

Cliente Rest con Java y Jersey


Para nuestro ejemplo vamos a crear un proyecto Web con Netbeans


Este proyecto le vamos a llamar ServiceAPI y va a tener nuestra información o nuestro servicio de Rest que luego vamos a conectar con el cliente usando el wizard de Netbeans con Jersey.

En Source Packages vamos a crear un paquete nuevo llamado Code donde vamos a agregar una clase llamada Persona que contiene datos de personas para nuestro servicio.

Listo este paso continuamos con la creación del servicio web https://compuarticulos.blogspot.com/2018/08/crear-un-simple-rest-api-con-netbeans-y.html

En este ejemplo el nombre del servicio web es AdminPersonResource. Después de esto vamos a crear una clase llamada Utils en la cual crearemos una variable static que será la lista donde almacenaremos las personas.

Con el método Get vamos a enviar la lista de todas las personas que tenemos y usando el método POST vamos a poder ingresar datos nuevos a nuestra lista.

Cliente usando Jersey

Primero vamos a crear un proyecto nuevo de Java Application en el cual vamos a crear la conexión con nuestro servicio REST.


El nombre de nuestro proyecto es ServiceClient. Ahora vamos a crear el código para llamar nuestro servicio.

Vamos a dar clic derecho sobre el proyecto del cliente y vamos a menú de new, luego otros. En este menú debemos seleccionar Web Services – Restful Java Client

Damos clic a siguiente y luego veremos esta pantalla

Al inicio agregamos la clase con la cual vamos a llamar el servicio. También se tiene que agregar el nombre del paquete donde queremos guardar la clase con los llamados al servicio de Rest. Continuamos seleccionando el servicio de Rest del proyecto que creamos hace unos minutos. Con el Servicio seleccionado damos clic en Finish.

En este momento lo que vamos hacer es copiar la clase Person dentro de nuestro paquete de API.
Ya estamos listos para hacer llamados a nuestro servicio de Rest.

Nos vamos a ir a la clase Main de nuestro cliente donde tenemos que hacer el importe de la clase javax.ws.rs.core.GenericType para poder convertir los datos del servicio de Rest en nuestra lista.


 public static void main(String[] args) {
        Person person = new Person();
        person.setEmail("test@gmail.com");
        person.setLastName("LastName");
        person.setName("test");
        
        ServiceAPI api = new ServiceAPI();
        api.postJson(person);
        
        List<Person> response = api.getJson(new GenericType<List<Person>>() {});
        
        for(Person i : response)
        {
            System.out.println(i.getEmail());
        }
    }

Lo primero que vamos hacer en el método main es crear un objeto de tipo persona para agregar los datos que deseamos. Usando un objeto de tipo ServiceApi hacemos llamado al método post con el que podemos enviar los datos del cliente.

Finalmente, invocamos el método get para ver la lista completa de todas las personas agregadas al sistema hasta el momento.

Ejemplo

¿Quieres aprender java y C#?

Etiquetas: , , , ,

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio