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

15 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-06 08:24 +0000

1from fastapi import FastAPI, Request, status 1abcdef

2from fastapi.encoders import jsonable_encoder 1abcdef

3from fastapi.exceptions import RequestValidationError 1abcdef

4from fastapi.responses import JSONResponse 1abcdef

5from pydantic import BaseModel 1abcdef

6 

7app = FastAPI() 1abcdef

8 

9 

10@app.exception_handler(RequestValidationError) 1abcdef

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

12 return JSONResponse( 1ghijkl

13 status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, 

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

15 ) 

16 

17 

18class Item(BaseModel): 1abcdef

19 title: str 1abcdef

20 size: int 1abcdef

21 

22 

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

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

25 return item 1mnopqr