Proyecto
Tasks API · Proyecto docente (API REST)
¿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.
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 únicotitle→ Título de la tareadescription→ Descripcióncompleted→ 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