Proyecto

Tasks API · Proyecto docente (API REST)

2025-01-08 · Intermedio · Project

Java 17Spring Boot 3H2Swagger

¿Qué es este proyecto?

Tasks API es un proyecto que sirve como base para enseñar la construcción de una API REST profesional en Java, e incluyendo buenas prácticas habituales en backend en las siguientes versiones.

tecnologias api rest java

Forma parte del conjunto de Projects publicados en
👉 https://jpexposito.github.io/projects/


Objetivos

El foco del proyecto es aprender haciendo, de forma incremental.

  • Diseñar una API REST clara y mantenible.
  • Implementar un CRUD completo de recursos.
  • Introducir Spring Data JPA y persistencia.
  • Documentar la API con Swagger / OpenAPI.

Funcionalidades principales

  • Crear tareas
  • Listar tareas
  • Obtener tareas por identificador
  • Actualizar tareas
  • Eliminar tareas

Modelo de dominio

Una tarea se define con los siguientes campos:

  • id → Identificador único
  • title → Título de la tarea
  • description → Descripción
  • completed → Estado de finalización

Este modelo permite explicar:

  • Entidades JPA
  • Repositorios
  • Serialización JSON
  • Operaciones CRUD

Stack tecnológico

  • Java 17
  • Spring Boot 3
  • Spring Web
  • Spring Data JPA
  • H2 Database
  • Swagger / OpenAPI
  • Maven

Ejecución del proyecto

Clonar el repositorio:

git clone https://github.com/jpexposito/tasks-api.git
cd tasks-api

Construir y ejecutar:

mvn clean install
mvn spring-boot:run

La API quedará accesible en:

http://localhost:8080/api/tasks

Documentación y pruebas (Swagger)

La documentación interactiva se genera automáticamente:

http://localhost:8080/swagger-ui.html

Swagger permite:

  • Explorar endpoints
  • Probar peticiones
  • Ver esquemas de datos
  • Introducir el Bearer Token cuando la API está securizada

Endpoints principales

Método Endpoint
GET /api/tasks
GET /api/tasks/{id}
POST /api/tasks
PUT /api/tasks/{id}
DELETE /api/tasks/{id}

Enfoque

Este proyecto está diseñado para:

  • Introducir arquitectura REST
  • Trabajar seguridad en APIs modernas
  • Usar Swagger como herramienta real
  • Evolucionar el proyecto paso a paso