Hoy · Hoja de ruta
- 1. Aprende: Nada nuevo. Hoy se comprueba si sabes montar un servicio desde cero.
- 2. Haz: Construye un servidor completo para un dominio que no has visto.
- 3. Comprueba: Lo entregas con su fichero de pruebas y su README.
Antes de empezar · 5 minutos, sin apuntes
- ¿En qué orden montarías un servicio nuevo?
- ¿Qué escribirías primero: las rutas o el almacén?
- ¿Cómo demuestras que funciona sin abrir el navegador?
El encargo
Un dominio distinto del tuyo —reservas de aulas, préstamos de una biblioteca, incidencias de un taller— con sus reglas propias, al menos una de las cuales no se resuelve con un CRUD elemental: no se puede reservar un aula ocupada, no se presta un ejemplar ya prestado.
En la sesión no cabe entero, y no se pretende: la hora se dedica a modelar los datos y a dejar funcionando las dos primeras rutas, que es donde se ve si el método es tuyo. El resto se termina como trabajo personal y se entrega con la unidad.
- Modelar los datos y sembrar el fichero JSON
- El almacén con sus operaciones
- Las reglas de negocio, sin saber de HTTP
- Las rutas, con sus códigos de estado
- Registro, errores centralizados y estáticos
- El fichero de peticiones que lo demuestra
Los requisitos mínimos
Lo que hay que entregar
- Cinco rutas, con al menos un
POSTy unDELETE. - Validación de entrada con respuesta 400 y lista de errores.
- La regla de negocio del enunciado, con su código de estado propio.
- Escritura segura en el fichero de datos.
- Registro de peticiones y manejador de errores central.
- Un
peticiones.httpque recorra todos los casos, incluidos los que fallan. - Un README con cómo arrancarlo y qué rutas ofrece.
Objetivo mínimoLas cinco rutas funcionando con sus estados correctos.
Si lo tienesLa regla de negocio y todos los casos de error cubiertos.
RetoAñade una consulta con filtros combinables por parámetros de la URL.
Checkpoint · fin de la sesión 16
- Has montado un servicio completo sin partir del tuyo.
- Las capas siguen separadas.
- Cada situación devuelve su código de estado.
- El fichero de pruebas demuestra lo que dices.