Coverage for docs_src / handling_errors / tutorial005_py310.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1from fastapi import FastAPI, Request 1adbc

2from fastapi.encoders import jsonable_encoder 1adbc

3from fastapi.exceptions import RequestValidationError 1adbc

4from fastapi.responses import JSONResponse 1adbc

5from pydantic import BaseModel 1adbc

6 

7app = FastAPI() 1adbc

8 

9 

10@app.exception_handler(RequestValidationError) 1adbc

11async def validation_exception_handler(request: Request, exc: RequestValidationError): 1adbc

12 return JSONResponse( 1efgh

13 status_code=422, 

14 content=jsonable_encoder({"detail": exc.errors(), "body": exc.body}), 

15 ) 

16 

17 

18class Item(BaseModel): 1adbc

19 title: str 1abc

20 size: int 1abc

21 

22 

23@app.post("/items/") 1adbc

24async def create_item(item: Item): 1adbc

25 return item 1ijkl