justapi — /docs

Declaring Error Responses

Document additional responses that your handler might return:

from justapi import JustAPIApp, HTTPException
from pydantic import BaseModel

class ErrorResponse(BaseModel):
    detail: str

app = JustAPIApp()

@app.get(
    "/items/{item_id}",
    responses={
        404: {"model": ErrorResponse, "description": "Item not found"},
        500: {"description": "Internal server error"},
    },
)
def get_item(item_id: int):
    if item_id == 0:
        raise HTTPException(status_code=404, detail="Item not found")
    return {"item_id": item_id}

Multiple Response Models

@app.get(
    "/users/{user_id}",
    response_model=UserOut,
    responses={
        200: {"description": "User found"},
        404: {"model": ErrorResponse, "description": "User not found"},
        403: {"description": "Access denied"},
    },
)
def get_user(user_id: int):
    return {"user_id": user_id}

Per-Media-Type Responses

@app.get(
    "/data",
    responses={
        200: {
            "content": {
                "application/json": {"schema": {"type": "object"}},
                "text/plain": {"schema": {"type": "string"}},
            }
        }
    },
)
def get_data():
    return {"data": "value"}

See Also

JustAPI v2.0.9 — Open Source MIT License · Built with WebTUI · GitHub

NORMAL master justapi/docs
utf-8 Top 1:1