Elegir espacio

Dos espacios

¿Qué quieres consultar?

Elige el espacio al que quieres entrar.

Biblioteca FastAPIPrimera API

Práctica · Bloque 2

Construye una primera frontera HTTP fiable

Arranque, fuentes de entrada, Pydantic, respuestas, errores y documentación observable.

  • 16 actividades
  • 15 de código ejecutable
  • 4 checkpoints
  • Respuestas y evidencia locales

Starter, código, ejecución y evidencia

La actividad principal ocurre en el editor

Descarga el starter, ejecuta el baseline, modifica la API y conserva una prueba positiva y otra negativa. Las pocas actividades de análisis están marcadas de forma explícita; no cuentan como implementación.

Unidad 2.1 · Ensayo y checkpoint

Pon en marcha y diagnostica la ruta

La aplicación importa, la ruta correcta responde y puedes explicar el orden de coincidencia.

  1. EX-B2-01Escribir y ejecutar códigoPráctica focalizadaBásicaLa aplicación que Uvicorn no puede importarUn compañero ejecuta `uv run uvicorn app.main:app --reload`, pero el proceso termina antes de abrir el puerto.Abrir
  2. EX-B2-02Escribir y ejecutar códigoCheckpoint independienteBásica«me» no es un identificador`GET /records/me` entra en `/records/{record_id}` y devuelve el registro cuyo id literal es «me».Abrir
Antes y después de practicar

Antes: Antes de ejecutar, predice método, ruta, status, body y dónde debería aparecer la operación en OpenAPI.

Transferencia: Explica qué evidencia distinguiría un fallo de importación, un 404 y un 405 en otra aplicación.

Unidad 2.2 · Ensayo y checkpoint

Coloca cada dato donde expresa mejor su intención

Distingues path, query, header, cookie, body, formulario y archivo, incluida la ausencia frente a null.

  1. EX-B2-03Escribir y ejecutar códigoPráctica focalizadaBásica¿Path, query, header o body?Un requisito mezcla identificador, paginación, correlación, modo de simulación y datos de creación sin decidir su lugar en HTTP.Abrir
  2. EX-B2-04Escribir y ejecutar códigoPráctica focalizadaBásicaCorrelación en header, preferencia en cookieSoporte necesita rastrear cada petición y la interfaz recuerda un modo de visualización no sensible.Abrir
  3. EX-B2-05Escribir y ejecutar códigoPráctica focalizadaBásicaJSON, formulario o archivoTres historias de usuario requieren crear un expediente, iniciar sesión mediante formulario y adjuntar un PDF con metadatos.Abrir
  4. EX-B2-06Escribir y ejecutar códigoCheckpoint independienteMediaAusente no significa nullUn PATCH borra el título cuando el cliente no lo envía porque el código solo mira el valor final `None`.Abrir
Antes y después de practicar

Antes: Clasifica identificador, filtro, correlación y representación antes de mirar una firma FastAPI.

Transferencia: Ante un requisito nuevo, justificas la fuente HTTP y la semántica de ausencia antes de escribir código.

Unidad 2.3 · Ensayo y checkpoint

Haz explícitas las reglas del modelo

El modelo acepta, normaliza o rechaza con reglas localizables y separa entrada, actualización y salida.

  1. EX-B2-07Escribir y ejecutar códigoPráctica focalizadaMediaField, field_validator o model_validatorUn modelo concentra patrón, normalización, fechas cruzadas y duplicados en un único `model_validator`.Abrir
  2. EX-B2-08Escribir y ejecutar códigoPráctica focalizadaMediaExpediente anidado y vocabulario cerradoLos payloads mezclan datos del responsable, estado libre y documentos sin estructura, lo que produce errores difíciles de localizar.Abrir
  3. EX-B2-09Escribir y ejecutar códigoCheckpoint independienteMediaUn modelo no sirve para todoLa API usa `Record` para crear, actualizar y responder: el cliente puede enviar `id` y la salida publica `internal_note`.Abrir
Antes y después de practicar

Antes: Predice qué reglas dependen de un campo, de varios campos o de quién puede enviar cada dato.

Transferencia: Puedes diseñar los modelos de otro recurso explicando propiedad, opcionalidad y reglas entre campos.

Unidad 2.4 · Ensayo y checkpoint

Alinea salida, errores y OpenAPI

Status, headers, body, filtrado y documentación cuentan la misma historia pública.

  1. EX-B2-10Escribir y ejecutar códigoPráctica focalizadaMediaLa respuesta filtra demasiado pocoUna respuesta devuelve el diccionario interno completo, incluidos `audit_token` y `owner_email`.Abrir
  2. EX-B2-11Escribir y ejecutar códigoPráctica focalizadaMediaTres formas de decir el mismo conflictoTres endpoints expresan una referencia duplicada con texto, `detail` arbitrario y status `200`.Abrir
  3. EX-B2-12Escribir y ejecutar códigoPráctica focalizadaMediaTraducir 422 sin borrar la ubicaciónUn manejador personalizado responde `Invalid request` para cualquier error y soporte ya no sabe qué campo falló.Abrir
  4. EX-B2-13Escribir y ejecutar códigoPráctica focalizadaMediaCreado significa 201 y tiene ubicaciónLa creación funciona, pero devuelve `200`, no indica dónde quedó el recurso y documenta un modelo distinto.Abrir
  5. EX-B2-14Analizar y decidirCheckpoint independienteMedia-altaRevisión de PR desde OpenAPIUn PR afirma implementar creación y consulta, pero el diff, los requisitos y el OpenAPI generado no coinciden.Abrir
Antes y después de practicar

Antes: Antes de editar, compara qué prometen status, headers, body, modelo de salida y OpenAPI.

Transferencia: Puedes revisar otra API desde la perspectiva de un consumidor y detectar una promesa no cumplida.

Después de los ejercicios focalizados

Prácticas extendidas

Mantienen una base común durante varias transformaciones y permiten trabajar con más continuidad.

  1. EX-B2-S01Escribir y ejecutar códigoPráctica extendidaMediaAdmisiones internas por contratoUn equipo necesita recibir solicitudes de admisión, consultar su estado y rechazar entradas incoherentes antes de incorporar persistencia.Abrir
  2. EX-B2-S02Escribir y ejecutar códigoPráctica extendidaMedia-altaIncidentes en una API de reparacionesUna API pequeña arranca, pero interpreta mal entradas, acepta estados imposibles, devuelve errores incompatibles y filtra datos de taller.Abrir