FastAPI genera documentación automática de swagger/openapi.
En el tutorial en https://fastapi.tiangolo.com/tutorial/response-status-code hay un ejemplo
from fastapi import FastAPI app = FastAPI() @app.post("/items/", status_code=201) async def create_item(name: str): return {"name": name}Si ejecuta esto, la página .../docs muestra dos opciones de respuesta http:
Código de estado 201 para éxito y código de estado 422 para error de validación
El tutorial anterior muestra una imagen de esta página.
)
Me gustaría documentar más descripciones de código de estado de respuesta en los documentos, por ejemplo, código 403, "Prohibido"
Si bien puedo ejecutar excepciones como esta en el código
raise HTTPException(status_code=403, detail="Forbidden")No he encontrado una manera de describirlos en los documentos generados automáticamente.
¿Alguna idea de cómo hacerlo?
¿Esto resuelve tu problema?
https://fastapi.tiangolo.com/advanced/additional-responses/
EDITAR
Con el modelo de respuesta, puede agregar las diferentes respuestas que su API puede devolver.
from pydantic import BaseModel # Define your models here like class model200(BaseModel): message: str = "" @api.get("/my-route/", responses={200: {"response": model200}, 404: {"response": model404}, 500: {"response": model500}}) async def api_route(): return "I'm a wonderful route"Esto proporcionará ejemplos de sus modelos de respuesta, lo que simplificará la interacción de los usuarios con la API.