Files
gh-greyhaven-ai-claude-code…/skills/api-design-standards/reference/error-handlers.md
2025-11-29 18:29:15 +08:00

782 B

Error Handlers

Complete exception handler configuration.

See ../templates/error-handler.py for full implementation.

async def http_exception_handler(request, exc):
    return JSONResponse(status_code=exc.status_code, content={"error": exc.detail, "status_code": exc.status_code})

async def validation_exception_handler(request, exc):
    errors = [{"field": ".".join(str(loc) for loc in e["loc"]), "message": e["msg"], "code": e["type"]} for e in exc.errors()]
    return JSONResponse(status_code=422, content={"error": "Validation error", "detail": errors, "status_code": 422})

app.add_exception_handler(HTTPException, http_exception_handler)
app.add_exception_handler(RequestValidationError, validation_exception_handler)