Plataforma RESTful para la gestión de publicaciones de blog, desarrollada con Spring Boot. Permite crear, consultar, actualizar, eliminar y buscar blogs, cada uno asociado a una categoría y múltiples etiquetas.
Realmente esta práctica fue hecha con fines educativo por lo cual, se puede encontrar puntos a mejorar.
Este proyecto es una práctica realizada a partir de la página roadmap.sh
- CRUD de publicaciones de blog
- Asociación con categorías y etiquetas
- Filtro de publicaciones por término de búsqueda (título, contenido, categoría o tags)
- Validación de datos con Jakarta Validation
- Mapeo DTO ↔ Entidad usando MapStruct
- Gestión automática de timestamps (creación y actualización)
- Arquitectura en capas (Controller, Service, Repository)
- Java 21
- Spring Boot 3+
- Spring Data JPA
- Jakarta Validation
- MapStruct
- Lombok
- MySQL (configurable)
- Maven
com.api.BloggingPlatform
│
├── persistence
│ ├── Entity
│ └── Repository
│
├── presentation
│ ├── controller
│ ├── dto
│
├── service
│ ├── impl
│
├── util
│ └── mapper
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/posts |
Obtener todos los blogs |
| GET | /api/posts/{id} |
Obtener un blog por su ID |
| GET | /api/posts?term=xxx |
Buscar blogs por término |
| POST | /api/posts |
Crear un nuevo blog |
| PUT | /api/posts/{id} |
Actualizar un blog existente |
| DELETE | /api/posts/{id} |
Eliminar un blog |
{
"title": "Mi primer post",
"content": "Este es el contenido del blog",
"category": "Tecnología",
"tags": ["Java", "Spring", "API"]
}Puedes usar herramientas como Postman, curl para probar los endpoints.
Este proyecto está bajo la Licencia Apache 2.0.