10 abril, 2020

Crear un Web Service Rest-Json en Eclipse usando Spring Boot (Maven)

En este post aprenderemos a crear un servicio web Java Rest-Json usando Spring Boot y Maven, que es una herramienta de software para la gestión y construcción de proyectos.

¿Qué es Maven?

Normalmente cuando trabajamos con Java/JavaEE el uso de librerías es algo común como en cualquier otro lenguaje de programación. Sin embargo, una librería puede depender de otras librerías para funcionar de forma correcta. Por ende, su gestión se puede volver tedioso a la hora de buscar las librerías y ver que versión exacta debemos de elegir. Así pues necesitamos más información para gestionarlo todo de forma correcta  y para ellos existe MAVEN, que es una herramienta que nos va a permitir tener una gestión correcta de nuestra librerías, proyectos y dependencias. Dentro de un proyecto Maven el archivo pom.xml (Proyect Object Model) es el de mayor importancia ya que contiene toda la información del artefacto que usará nuestro proyecto. Un Artefacto puede verse como una librería con esteroides (aunque agrupa mas conceptos). Contiene las clases propias de la librería pero ademas incluye toda la información necesaria para su correcta gestión (grupo, versión, dependencias etc).

¿Qué es Spring Boot?

Spring Boot es una de las tecnologías dentro del mundo de Spring de las que más se está hablando últimamente. Spring Boot es una herramienta que nace con la finalidad de simplificar aun más el desarrollo de aplicaciones basadas en el ya popular framework Spring Core. Spring Boot busca que el desarrollador solo se centre en el desarrollo de la solución, olvidándose por completo de la compleja configuración que actualmente tiene Spring Core para poder funcionar.


PASOS

1. Crear un Maven Project

Clic en File/New/Maven Project.


Seleccionamos el arquetipo "maven-archetypes-quickstart" de "org.apache.maven.archetypes".


Group Id: identifica de forma exclusiva su proyecto en todos los proyectos. Una ID de grupo debe seguir las reglas de nombre de paquete de Java . Esto significa que comienza con un nombre de dominio invertido que controlas. Por ejemplo, org.apache.maven, org.apache.commons.

Artifact Id: es el nombre del jar sin versión. Si lo creó, puede elegir el nombre que desee con letras minúsculas y sin símbolos extraños. Si se trata de un jar de un tercero, debe tomar el nombre del jar tal como está distribuido.

Versión: si distribuye, entonces usted puede elegir cualquier versión típica con números y puntos (1.0, 1.1, 1.0.1, ...). No use fechas, ya que generalmente están asociadas con compilaciones SNAPSHOT (todas las noches). Si se trata de un artefacto de un tercero, debe usar su número de versión, sea lo que sea, y por extraño que parezca. Por ejemplo, 2.0, 2.0.1, 1.3.1.


Clic en "Finish" y tendremos la siguiente estructura


2. Crear el archivo application.properties

Una aplicación Spring Boot utiliza un archivo llamado application.properties. Para ello, primero debemos de crear la carpeta resources al mismo nivel en donde se encuentra la carpeta java. Dentro de esta nueva carpeta crearemos el archivo application.properties.

Dentro del archivo agregamos la siguiente propiedad: server.port=8080, que es el puerto donde queremos que Spring publique nuestro servicio Rest. En mi caso en el puerto 8080.


3. Agregar las dependencias para este proyecto

Abrimos el archivo "pom.xml" y agregamos las siguientes dependencias:

spring-boot-started-web: para trabajar con springboot.

No olvidemos que tenemos que cambiar la versión de Java de 1.7 a 1.8.

Guardamos los cambios y podemos observar que dentro del directorio Maven Dependencies se han descargados todas las librerías. Si no les descarga las librerías de manera automática, debemos hacer clic derecho al proyecto y seleccionar la opción Maven/Update Project...


4. Configurar la clase principal

Editamos la clase App.java ubicada dentro del paquete com.aprendec.springboot, el cual, el proyecto nos había creado por defecto para autoconfigurar nuestra aplicación Spring Boot.



5. Crear el pojo

Crear la clase VOUsuario.java dentro del paquete com.aprendec.springboot.model.



7. Crear el servicio web Rest

Crear la clase RestUser.java dentro del paquete com.aprendec.springboot.service.



8. Ejecutar aplicación

Clic derecho a la clase App.java y seleccionar la opción Run As/ Java Application. Esta clase principal se encargará de publicar nuestra aplicación Spring Boot e iniciará Tomcat por nosotros en el puerto 8080.


Ingresamos a la siguiente url: http://localhost:8080/servicesREST/aprendec/validaUsuario

El método que creamos es de tipo POST, por lo tanto, el método GET no esta soportado.

Provamos el servicio con Advanced Rest Client


No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!