Performance: Validation error responses
MEDIUM IMPACT
This affects the server response time and client rendering speed when validation errors occur.
from fastapi import FastAPI from fastapi.exceptions import RequestValidationError from fastapi.responses import JSONResponse from fastapi.exception_handlers import request_validation_exception_handler app = FastAPI() @app.exception_handler(RequestValidationError) async def validation_exception_handler(request, exc): # Use FastAPI's built-in handler for efficient error formatting return await request_validation_exception_handler(request, exc)
from fastapi import FastAPI, Request from fastapi.responses import JSONResponse app = FastAPI() @app.exception_handler(ValueError) async def value_error_handler(request: Request, exc: ValueError): # Manually building error response with heavy processing errors = [] for i in range(1000): errors.append(f"Error {i}: {str(exc)}") return JSONResponse(status_code=400, content={"detail": errors})
| Pattern | Server Processing | Response Size | Client Rendering | Verdict |
|---|---|---|---|---|
| Manual large error list | High CPU usage | Large (50kb+) | Slow due to large JSON | [X] Bad |
| Built-in FastAPI handler | Low CPU usage | Small (few kb) | Fast rendering | [OK] Good |