Cómo escribir una API REST en Java en 30 minutos: guía paso a paso

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course
```html

Cómo escribir una API REST en Java en 30 minutos: guía paso a paso



Crear una API REST es una de las habilidades clave del desarrollador Java moderno. REST (Representational State Transfer) permite construir servicios web ligeros, escalables y comprensibles. En esta guía crearemos en 30 minutos una API REST completa con Spring Boot. Aprenderás a configurar el proyecto, crear endpoints para trabajar con usuarios, manejar JSON y probar la API a través de Postman o el navegador.



1. ¿Qué es una API REST y para qué sirve?



Una API REST es un estilo arquitectónico en el que el cliente y el servidor intercambian datos a través de solicitudes HTTP. Los principios básicos de REST son:



  • Recursos — cada objeto (usuario, producto, pedido) está representado por una URL.
  • Métodos HTTP — GET (lectura), POST (creación), PUT (actualización), DELETE (eliminación).
  • Stateless — cada solicitud contiene toda la información necesaria; el servidor no almacena el estado de la sesión.
  • Formatos de datos — generalmente JSON o XML.


La API REST se utiliza en aplicaciones móviles, frontends web, microservicios e integración de sistemas. En Java, el framework más popular para crear API REST es Spring Boot, que proporciona anotaciones listas y configuración automática.



2. Preparación del proyecto Spring Boot



Para empezar necesitarás:

  • JDK 17 o superior
  • IntelliJ IDEA o cualquier otro IDE
  • Maven o Gradle


Crearemos un proyecto usando Spring Initializr. Selecciona:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.2.0 (o la última estable)
  • Dependencies: Spring Web, Spring Boot DevTools


Haz clic en "Generate" y descomprime el archivo. Abre el proyecto en el IDE. La estructura se verá así:



rest-api-demo/├── src/main/java/com/example/restapidemo/│   ├── RestApiDemoApplication.java│   └── controller/│       └── UserController.java├── src/main/resources/│   └── application.properties└── pom.xml


3. Creación del modelo de datos y el controlador



Crearemos un modelo simple User (clase en el paquete model):



package com.example.restapidemo.model;

public class User { private Long id; private String name; private String email;

public User() {}

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; }}


Ahora crearemos el controlador UserController en el paquete controller. Este es el corazón de nuestra API:



package com.example.restapidemo.controller;

import com.example.restapidemo.model.User;import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;

@RestController@RequestMapping("/api/users")public class UserController {

private final List<User> users = new ArrayList<>(); private final AtomicLong counter = new AtomicLong();

public UserController() { // Datos de prueba users.add(new User(counter.incrementAndGet(), "Alice", "alice@example.com")); users.add(new User(counter.incrementAndGet(), "Bob", "bob@example.com")); }

// GET /api/users — obtener todos los usuarios @GetMapping public List< ```

Blogs

Book Recommendations