Cómo crear tu primera API REST con Spring Boot paso a paso

Introducción: por qué aprender a crear una API REST hoy

En el desarrollo backend moderno, crear una API REST con Spring Boot se ha convertido en una habilidad esencial. Casi todas las aplicaciones —desde redes sociales hasta plataformas de e-commerce— utilizan APIs REST para comunicarse entre el frontend y el servidor.

Si estás comenzando con Java 21 y Spring Boot 3.6, este tutorial paso a paso te mostrará cómo construir tu primera API desde cero, con ejemplos reales y buenas prácticas que podrás aplicar en tus proyectos profesionales.

Conceptos básicos antes de crear tu API REST

¿Qué es una API REST?

Una API REST (Representational State Transfer) es un conjunto de reglas que permite a las aplicaciones intercambiar datos a través del protocolo HTTP de forma ligera y escalable.

MétodoEndpointDescripción
GET/api/productsObtener todos los productos
POST/api/productsCrear un nuevo producto
GET/api/products/{id}Obtener un producto por ID
PUT/api/products/{id}Actualizar un producto existente
DELETE/api/products/{id}Eliminar un producto

¿Qué es Spring Boot y por qué usarlo?

Spring Boot es un framework que simplifica el desarrollo de aplicaciones Java al ofrecer una configuración automática y un servidor embebido listo para ejecutar tu API REST.

  • 🚀 Arranque rápido sin configuración XML.
  • ⚙️ Integración con Spring Data JPA, Web y Security.
  • 🔁 Convención sobre configuración.
  • 🧰 Ideal para crear APIs y microservicios modernos.

Por eso, Spring Boot es el estándar de facto para desarrollar APIs REST en Java.

Requisitos previos

  • Java 21
  • Maven
  • Un IDE como IntelliJ IDEA o Eclipse
  • Postman o cURL para probar tu API

Guía paso a paso para crear tu API REST con Spring Boot 3.6

A continuación, aprenderás cómo hacer una API REST con Spring Boot paso a paso, creando un CRUD para gestionar categorías de productos.

Paso 1: Crear el proyecto con Spring Initializr

Proyecto en github: https://github.com/elivarl/crear-api-rest-spring-boot.git

Ve a https://start.spring.io y configura tu proyecto:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.6.0
  • Java: 21
  • Dependencias: Spring Web, Spring Data JPA, MySQL Driver, Lombok

Haz clic en Generate y abre el proyecto en tu IDE.

Paso 2: Estructura del proyecto

src/
 └── main/
     ├── java/com/icodeap/demoapi
     │   ├── entity/
     │   │   └── Category.java
     │   ├── repository/
     │   ├── service/
     │   └── controller/
     └── resources/
         └── application.properties

Paso 3: Configurar la base de datos

Edita el archivo application.properties para conectar PostgreSQL:

spring.datasource.url=jdbc:mysql://localhost:3306/categorydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

Paso 4: Crear la entidad Category

@Entity
@Table(name = "categories")
@Data
public class Category {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(nullable = false, unique = true, length = 100)
    private String name;
    private String description;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}

Paso 5: Crear el repositorio

public interface CategoryRepository extends JpaRepository<Category, Long> {
    Optional<Category> findByNameIgnoreCase(String name);
}

Paso 6: Crear la capa de servicio

@Service
public class CategoryService {
    ...
}

Esta capa contiene la lógica de negocio y se comunica con el repositorio.

Paso 7: Crear el controlador REST

@RestController
@RequestMapping("/api/categories")
public class CategoryController {
    ...
}

Aquí defines los endpoints GET, POST, PUT y DELETE que permiten realizar las operaciones CRUD desde el cliente.

Paso 8: Ejecutar y probar tu API REST

Ejecuta tu aplicación Spring Boot y prueba los endpoints con Postman:

GET http://localhost:8080/api/categories
POST http://localhost:8080/api/categories

Si todo funciona, ¡ya creaste tu primera API REST con Spring Boot!

Buenas prácticas en APIs REST con Spring Boot

  • Usa DTOs para transferencia de datos.
  • Valida las entradas con anotaciones (@NotBlank, @Valid).
  • Centraliza el manejo de excepciones con @RestControllerAdvice.
  • Versiona tus endpoints: /api/v1/categories.
  • Documenta con Swagger UI.

Instala springdoc-openapi-starter-webmvc-ui y accede a http://localhost:8080/swagger-ui.html.

Errores comunes al crear APIs REST

  • Usar @Controller en lugar de @RestController.
  • Olvidar @RequestBody en POST/PUT.
  • No manejar excepciones personalizadas.
  • Dejar ddl-auto=create en producción.
  • No devolver códigos HTTP adecuados (404, 409, etc.).

Evitar estos errores hará que tu API REST con Spring Boot sea más estable y profesional.

Conclusión y próximos pasos

Has aprendido a crear una API REST con Spring Boot 3.6 y Java 21 desde cero, aplicando buenas prácticas y estructura en capas (entidad, repositorio, servicio y controlador).

Este conocimiento es el primer paso hacia el desarrollo backend profesional con Spring Framework y microservicios.

🚀 Da el siguiente paso y domina Spring Boot de forma profesional con mi curso “Aprende a crear una API RESTful con Java y Spring Boot”.

Aprenderás a construir APIs REST completas, conectar con bases de datos, manejar excepciones, aplicar seguridad y desplegar tus proyectos en producción.

👉 Inscríbete ahora y acelera tu carrera como desarrollador backend Java.


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top