Práctica focalizada · Bloque 2 · Unidad 2.4
EX-B2-11
Tres formas de decir el mismo conflicto
Tres endpoints expresan una referencia duplicada con texto, `detail` arbitrario y status `200`.
Cómo abordarla
Alinea salida, errores y OpenAPI
Ejecuta primero el baseline. Después modifica la frontera indicada, escribe una regresión positiva y otra negativa y conserva la salida real.
Evidencia objetivo: Status, headers, body, filtrado y documentación cuentan la misma historia pública.
Abrir laboratorio de código
1. Descarga y arranca
- Errores inconsistentesTres endpoints parciales que representan el mismo conflicto.
2. Escribe y prueba
- Diseña `ErrorEnvelope` y un código estable.
- Unifica las tres operaciones mediante una excepción de dominio o helper proporcionado.
- Documenta el `409` y prueba equivalencia de forma.
3. Demuestra el comportamiento
- Inventario de las tres respuestas actuales y política pública propuesta.
- Implementación del contrato común y ejemplos HTTP equivalentes.
- Pruebas de conflicto y de ausencia de detalles internos.
La respuesta principal es tu código y sus pruebas. Usa este espacio solo para anotar la predicción inicial y el resultado observado.
Predicción breve antes de ejecutar
¿Qué campos necesita el consumidor para manejar el conflicto sin analizar texto humano?
Comprueba estas tres cosas
- ¿Qué comportamiento observas y qué parte es todavía una hipótesis?
- ¿Cuál es el cambio mínimo que permite verificar la causa o el contrato?
- ¿Qué evidencia conservarías para demostrar que no rompiste otra frontera?
Anota predicción, comando ejecutado y diferencia observada; el código vive en tu workspace.
Sin respuesta guardada.
Pistas opcionales
Pista 1 · Localiza la frontera
- Separa importación, enrutado, extracción, validación, operación y serialización.
- Lee el status, los headers y la ubicación del error antes de editar.
Pista 2 · Reduce la prueba
- Usa una petición válida y una inválida que difieran en una sola variable.
- Compara el comportamiento con `/openapi.json` cuando el contrato esté documentado.
Profundización opcional
Definir un error de negocio estable y una traducción HTTP uniforme.
Contexto adicional
- Trabaja únicamente dentro del alcance del bloque: una aplicación pequeña y estado en memoria.
- No hay solución oficial publicada; el material contiene huecos y defectos deliberados.
- Justifica las decisiones por el mensaje HTTP y el contrato observable, no solo porque el código arranque.
Cómo revisar tu respuesta
- El status es `409` en las tres rutas.
- Código y estructura son estables.
- El mensaje público no expone estado interno.
Evidencia, revisión y reinicio
- Decisión razonada guardada localmente en la web.
- Código o informe ejecutable en el workspace temporal, más una captura de curl/OpenAPI cuando proceda.
Revisión: con Codex, utilizando la evidencia y los criterios anteriores; no se publica una solución oficial.
Reinicio: Eliminar el workspace temporal y volver a descargar el material inicial; no hay estado persistente externo.