Curso de FastAPI: 231 Respuestas Adicionales en una Ruta con el Parámetro responses

Posted by

FastAPI Curso: 231 Respuestas Adicionales en una Operación de Ruta

FastAPI Curso: 231 Respuestas Adicionales en una Operación de Ruta

En FastAPI, la especificación de OpenAPI nos permite definir respuestas adicionales para una operación de ruta. Esto es útil cuando queremos comunicar diferentes escenarios que pueden ocurrir al llamar a una API.

Para definir respuestas adicionales en una operación de ruta, utilizamos el parámetro “responses” en el decorador de la función:


from fastapi import FastAPI, Response

app = FastAPI()

@app.get("/items/{item_id}", responses={
    200: {"model": Item},
    403: {"description": "El usuario no tiene permiso para acceder a este recurso"},
})
async def read_item(item_id: int):
    # código para obtener el artículo
    # ...
    return item

En este ejemplo, la operación de ruta “/items/{item_id}” tiene dos respuestas adicionales definidas:

  1. Una respuesta con el código de estado 200 y el modelo de datos “Item”. Esta es la respuesta exitosa cuando se obtiene el artículo correctamente.
  2. Una respuesta con el código de estado 403 y una descripción específica. Esta es la respuesta que se enviará si el usuario no tiene permiso para acceder al recurso.

Es importante recordar que estas respuestas adicionales se incluirán en la documentación generada automáticamente por FastAPI y en el esquema de OpenAPI. Esto facilita la comprensión de las diferentes situaciones que pueden ocurrir al interactuar con la API.

En resumen, el parámetro “responses” nos permite definir respuestas adicionales en una operación de ruta en FastAPI. Esto nos ayuda a comunicar de manera clara y precisa los diferentes escenarios que pueden ocurrir al llamar a una API.