Este repositorio ofrece una plantilla lista para usar que combina un proyecto Spring Boot con la configuración necesaria para ejecutarlo dentro de un Dev Container. Está pensado como punto de partida para crear APIs Java modernas manteniendo un entorno de desarrollo reproducible.
- Spring Boot 3.2 con Java 21 y Maven.
- API REST sencilla con dos endpoints:
GET /api/welcome
: devuelve el mensaje de bienvenida actual.POST /api/welcome
: actualiza el mensaje de bienvenida (requiere un cuerpo JSON con el campomessage
).
- Cobertura de pruebas automatizadas mediante
MockMvc
. - Configuración de Dev Container para trabajar de forma consistente en VS Code o GitHub Codespaces.
- VS Code con la extensión Dev Containers o acceso a GitHub Codespaces.
- Docker instalado y ejecutándose si se usa VS Code en local.
- Abre el repositorio en VS Code.
- Cuando se te solicite, selecciona Reopen in Container (o usa el comando
Dev Containers: Reopen in Container
). - La imagen incluye Java 21 y Maven. Tras la construcción del contenedor se ejecuta
mvn dependency:go-offline
para precargar dependencias.
Una vez dentro del Dev Container (o en tu entorno local con Java 21 y Maven):
mvn spring-boot:run
La API estará disponible en http://localhost:8080
.
-
Obtener el mensaje actual:
curl http://localhost:8080/api/welcome
-
Actualizar el mensaje:
curl -X POST http://localhost:8080/api/welcome \ -H "Content-Type: application/json" \ -d '{"message": "Hola desde Dev Containers"}'
Ejecuta la suite de pruebas con:
mvn test
- Modifica el mensaje de bienvenida por defecto editando
src/main/resources/application.properties
(app.welcome-message
). - Añade nuevas dependencias en
pom.xml
según las necesidades de tu proyecto. - Ajusta la configuración del contenedor en
.devcontainer/devcontainer.json
para incluir herramientas adicionales.
Este proyecto se distribuye bajo la licencia MIT.