Přeskočit na obsah
_CORE
Know-How

API Error Handling

6 min čtení
APIError HandlingRESTBest Practices

Dobrý error handling = dobrý DX. Klient musí vědět co se stalo, proč a co s tím může dělat.

Error response format

// RFC 7807 — Problem Details { "type": "https://api.example.com/errors/validation", "title": "Validation Error", "status": 422, "detail": "Request body contains invalid fields", "instance": "/api/users", "errors": [ { "field": "email", "message": "Invalid email format" }, { "field": "age", "message": "Must be positive" } ] }

Implementace

# FastAPI from fastapi import HTTPException class AppError(HTTPException): def __init__(self, code: str, message: str, status: int = 400, details=None): super().__init__(status_code=status, detail={ "code": code, "message": message, "details": details or [] }) @app.exception_handler(AppError) async def app_error_handler(request, exc): return JSONResponse(status_code=exc.status_code, content=exc.detail)

Klíčový takeaway

RFC 7807 pro standardní error format. Vždy code + message + details. Logujte na serveru, ne klientovi.

CORE SYSTEMS tým

Praktické know-how z reálných projektů. Bez buzzwordů, s kódem.