En el desarrollo de software moderno, los servicios REST son una parte integral de muchas aplicaciones. Spring Boot, un framework popular para el desarrollo de aplicaciones Java, facilita la creación de estos servicios. En este artículo, te guiaremos para que sepas cómo crear un servicio REST con Spring Boot desde cero.
¿Qué es un Servicio REST?
Un servicio REST es una forma de comunicación entre sistemas en la web que utiliza el protocolo HTTP. En este tutorial, vamos a crear un servicio REST simple utilizando Spring Boot.
Configurando tu Proyecto Spring Boot
Para comenzar, necesitarás tener instalado el IDE Eclipse, Maven y JDK 1.8+. Vamos a crear un nuevo proyecto Maven en Eclipse. Para hacer esto, selecciona File -> New -> Maven Project.
Marca la opción «Create a simple project (skip archetype selection)» para crear un proyecto vacío sin dependencias. Luego, proporciona un Group Id y un Artifact Id para tu proyecto.
Una vez que hayas creado tu proyecto, tendrás un archivo pom.xml
básico. Este archivo es donde añadiremos las dependencias necesarias para nuestro proyecto.
Añadiendo Dependencias al Archivo pom.xml
El archivo pom.xml
es donde definimos las dependencias de nuestro proyecto. Para nuestro servicio REST, necesitaremos añadir varias dependencias. Aquí está el archivo pom.xml
con las dependencias necesarias:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>es.secdevoops</groupId>
<artifactId>hello-world-spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lombok.version>1.18.6</lombok.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--Opcional-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Hemos añadido una dependencia opcional para la librería Lombok, que nos permite tener clases sin necesidad de generar los getters y setters de cada propiedad de nuestra clase usando anotaciones. Puedes aprender cómo instalar la librería Lombok en Eclipse en el siguiente enlace.
Creando tu Primer Servicio REST
Ahora que hemos configurado nuestro proyecto, es hora de crear nuestro primer servicio REST. Para hacer esto, vamos a crear una nueva clase HelloController.java
con la anotación @RestController
. Esta anotación le dice a Spring Boot que esta clase es un servicio REST.
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello World!";
}
}
La anotación @GetMapping
indica que nuestro endpoint se accederá por GET a través de la URL /hello
. Ahora, si ejecutas tu aplicación Spring Boot, puedes acceder a tu servicio REST en la http://localhost:8080/hello
.
Conclusión
Crear un servicio REST con Spring Boot desde cero puede parecer una tarea desalentadora, pero con las herramientas y técnicas adecuadas, puede ser un proceso bastante sencillo. Con este tutorial, esperamos que hayas obtenido una comprensión básica de cómo configurar un proyecto Spring Boot y crear tu primer servicio REST.