Cliente

Proyecto que crea un cliente que consume el Microservicios.

Proyecto en github

Fuentes de referencia

Crear un proyecto Maven

Indicar el nombre del proyecto clienteseguro

Editar arhivo pom.xml y agregar dependencias

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.avbravo</groupId>
    <artifactId>clienteseguro</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>2.25.1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>2.25</version>
        </dependency>
    </dependencies>
</project>

Crear el entity Paises.java

public class Paises {
     private String id;
     private String pais;
     //get/set
 }

Crear la clase principal

  • Crear un objeto de tipo HttpAuthentificationFeature donde establecemos el usuario y password.

  • Crear un ClientBuilder

  • Crear objetop Webtarget

  • Invocar el microservicio.

import com.avbravo.desktopclient.entity.Paises;
import java.util.List;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;

/**
 *
 * @author avbravo
 */
public class Start {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            HttpAuthenticationFeature autentificacion = HttpAuthenticationFeature.basic("myusername", "mypassword");

            Client client = ClientBuilder.newClient();
            client.register(autentificacion);


            
            WebTarget target = client.target("http://localhost:8080/resources/paises");

            GenericType<List<Paises>> paises = new GenericType<List<Paises>>() {
            };

            List<Paises> listaPaises = target.request(MediaType.APPLICATION_JSON).get(paises);
            for (Paises n : listaPaises) {
                System.out.println(n.getId());
                System.out.println(n.getPais());
            }

            
            
        } catch (Exception e) {
            System.out.println("main() " + e.getLocalizedMessage());
        }
    }

}

Al ejecutarlo obtenemos la lista de países

si el usuario o password es incorrecto

Obtenemos el mensaje de no autorizado

Last updated