Cómo escribir una API REST en Java en 30 minutos
El desarrollo web moderno es impensable sin una API REST — un estilo arquitectónico que permite a clientes y servidores intercambiar datos a través del protocolo HTTP. Java, gracias a su fiabilidad y enorme ecosistema, sigue siendo uno de los mejores lenguajes para crear servicios backend. En este artículo, mostraremos cómo escribir una API REST completa en Java en 30 minutos usando Spring Boot — el framework más popular para microservicios. Crearás un servicio CRUD simple para gestionar una lista de tareas (Todo List), que se puede desplegar y probar inmediatamente.
¿Qué es una API REST y por qué Java?
REST (Representational State Transfer) es un conjunto de principios donde cada recurso (por ejemplo, un usuario, una tarea o un producto) tiene una URL única, y la interacción ocurre a través de métodos HTTP estándar: GET (obtener), POST (crear), PUT (actualizar) y DELETE (eliminar). Java con el framework Spring Boot proporciona anotaciones y herramientas listas para implementar una API REST en cuestión de minutos. No necesitas analizar JSON manualmente ni configurar el servidor — Spring lo hace todo.
Guía paso a paso: escribimos una API REST en Java en 30 minutos
Paso 1. Configuración del proyecto y dependencias
La forma más rápida de empezar es usar Spring Initializr. Selecciona los siguientes parámetros:
- Project: Maven
- Language: Java
- Spring Boot: 3.2.0 (o la última versión estable)
- Dependencies: Spring Web, Spring Data JPA, H2 Database
Haz clic en "Generate", descarga el archivo ZIP y descomprímelo. Abre el proyecto en tu IDE (IntelliJ IDEA, Eclipse o VS Code). El archivo pom.xml debe contener las siguientes dependencias:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency></dependencies>La base de datos H2 es un sistema de gestión de bases de datos en memoria integrado que no requiere instalación. Para producción, la reemplazarás por PostgreSQL o MySQL.
Paso 2. Creación del modelo de datos (Entity)
Crea un paquete model y dentro de él la clase TodoItem.java. Esta será la entidad que se asigna a una tabla en la base de datos.
package com.example.demo.model;
import jakarta.persistence.*;
@Entity@Table(name = "todos")public class TodoItem {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
@Column(nullable = false) private String title;
private boolean completed;
// Constructores public TodoItem() {}
public TodoItem(String title, boolean completed) { this.title = title; this.completed = completed; }
// Getters y Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; }
public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }
public boolean isCompleted() { return completed; } public void setCompleted(boolean completed) { this.completed = completed; }}Aquí usamos anotaciones JPA: @Entity le indica a Spring que la clase es una tabla, @Id es la clave primaria, y @GeneratedValue la auto-generación del ID.