Slides: La automatización como protagonista en la calidad del código
Un repositorio donde se exploran técnicas de automatización para garantizar la calidad del código.
Contiene una aplicación ejemplo en Java/Spring Boot La aplicación también incluye una API REST para gestionar libros, comentarios de los libros y usuarios La aplicación consta de dos Controllers, uno para la API Rest de Libros y Comentarios y otro que maneja la API de usuarios, dos Servicios que maneja la lógica de negocio de cada controller y el acceso a los datos, y luego las clases de Modelo. La persistencia se hace en base de datos MySQL, el esquema es autogenerado basado en las @Entity definidas en código.
- Java 21
- Spring Boot 3.2
- OpenAPI 3.0.0
- JUnit 5
- SpringDoc OpenAPI
- MySQL 5.7/8.0.22
- OpenAPI Generator for HTML
- Java Faker
- Error Handling Spring Boot
- Datasource proxy
- Schema Spy
- Java 21
- Maven 3.8 or higher
mvn clean verify
Genera el executable jar dentro de /target, la OpenAPI spec y el OpenAPI html dentro de la carpeta /api-docs
Necesitamos una Base de Datos MySQL funcionando:
> docker run --rm -e MYSQL_ROOT_PASSWORD=backbase -e MYSQL_DATABASE=books -p 3306:3306 -d mysql:8.0.22
Spring boot application:
> mvn spring:boot run
or
> java -jar ./target/holamundo-spring-0.0.1-SNAPSHOT.jar
Hay multiples maneras de ejecutar una aplicación de Spring Boot, la documentación explica varias de ellas:
Durante el arranque de la aplicación se inserta test-data, 1 libro (con Ids 1) con 1 comentario (con Ids 1) y un Usuario con ID "juan". Se pueden probar los endpoints usando la Postman collection incluida: