Coverage for docs_src / generate_clients / tutorial003_py310.py: 100%

23 statements  

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

1from fastapi import FastAPI 1adbc

2from fastapi.routing import APIRoute 1adbc

3from pydantic import BaseModel 1adbc

4 

5 

6def custom_generate_unique_id(route: APIRoute): 1adbc

7 return f"{route.tags[0]}-{route.name}" 1adbc

8 

9 

10app = FastAPI(generate_unique_id_function=custom_generate_unique_id) 1adbc

11 

12 

13class Item(BaseModel): 1adbc

14 name: str 1abc

15 price: float 1abc

16 

17 

18class ResponseMessage(BaseModel): 1adbc

19 message: str 1abc

20 

21 

22class User(BaseModel): 1adbc

23 username: str 1abc

24 email: str 1abc

25 

26 

27@app.post("/items/", response_model=ResponseMessage, tags=["items"]) 1adbc

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

29 return {"message": "Item received"} 1efgh

30 

31 

32@app.get("/items/", response_model=list[Item], tags=["items"]) 1adbc

33async def get_items(): 1adbc

34 return [ 1ijkl

35 {"name": "Plumbus", "price": 3}, 

36 {"name": "Portal Gun", "price": 9001}, 

37 ] 

38 

39 

40@app.post("/users/", response_model=ResponseMessage, tags=["users"]) 1adbc

41async def create_user(user: User): 1adbc

42 return {"message": "User received"} 1mnop