Introducción a Spring Boot para crear una aplicación web con controladores y endpoints de una API REST.
Spring Boot es un framework Open Source muy popular para crear aplicaciones web y microservicios basados en la plataforma Spring. Si necesitas desarrollar una API RESTful, Spring Boot proporciona herramientas robustas y eficientes para lograrlo de manera sencilla y rápida.
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:
Para iniciar, debes generar un proyecto con Spring Boot. Puedes hacerlo manualmente o usar la herramienta Spring Initializr.
Ve al sitio web Spring Initializr.
Configura tu proyecto seleccionando las siguientes opciones:
com.example
.restapi
.Descarga el proyecto generado como un archivo .zip
.
Descomprime el archivo y abre el proyecto en IntelliJ IDEA.
application.properties
(ubicado en src/main/resources
) y agrega configuraciones personalizadas si es necesario. Por ejemplo:# Puerto del servidorserver.port=8080
Un controlador REST en Spring Boot se define mediante la anotación @RestController
. Vamos a crear un controlador básico para gestionar solicitudes HTTP.
controller
en la carpeta src/main/java/com/example/restapi
.HelloController.java
:package com.example.restapi.controller;
import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;
@RestController@RequestMapping("/api/v1")public class HelloController { @GetMapping("/hello") public String sayHello() { return "¡Hola desde tu primera API REST con Spring Boot!"; }}
Este controlador expone un endpoint REST GET /api/v1/hello
que devuelve un mensaje de saludo.
RestApiApplication.java
(generalmente ubicado en src/main/java/com/example/restapi
) y ejecuta el método main
.Postman
, o curl
para acceder a tu endpoint. Ingresa la siguiente URL:http://localhost:8080/api/v1/hello
Deberías ver el mensaje:
¡Hola desde tu primera API REST con Spring Boot!
Vamos a extender la API para que liste una lista de usuarios mediante un enpoint de tipo GET
.
Crearemos un modelo User que represente las propiedades de un usuario.
model
en src/main/java/com/example/restapi
.User.java
:package com.example.restapi.model;
public class User { private Long id; private String name; private String email;
// Constructores public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; }
// Getters y setters public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }}
Actualiza el controlador HelloController
o crea uno nuevo para gestionar usuarios:
package com.example.restapi.controller;
import com.example.restapi.model.User;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;import java.util.List;
@RestController@RequestMapping("/api/v1/users")public class UserController { @GetMapping public List<User> getAllUsers() { return Arrays.asList( ); }}
Con esto, tu API REST ahora tiene un endpoint para listar usuarios:
GET http://localhost:8080/api/v1/users
¡Genial! ya has creado una API con Spring Boot. La funcionalidad es muy básica, pero a partir de aquí puedes ir expandiendo la API con nuevos endpoints para gestionar operaciones como creación, actualización y eliminación de datos (CRUD), integrar bases de datos reales, o añadir seguridad con Spring Security…
Para recapitular, en este artículo hemos aprendido a: