Coverage for docs_src/dependencies/tutorial004_an.py: 100%

18 statements  

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

1from typing import Union 1abcdef

2 

3from fastapi import Depends, FastAPI 1abcdef

4from typing_extensions import Annotated 1abcdef

5 

6app = FastAPI() 1abcdef

7 

8 

9fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}] 1abcdef

10 

11 

12class CommonQueryParams: 1abcdef

13 def __init__(self, q: Union[str, None] = None, skip: int = 0, limit: int = 100): 1abcdef

14 self.q = q 1ghijkl

15 self.skip = skip 1ghijkl

16 self.limit = limit 1ghijkl

17 

18 

19@app.get("/items/") 1abcdef

20async def read_items(commons: Annotated[CommonQueryParams, Depends()]): 1abcdef

21 response = {} 1ghijkl

22 if commons.q: 1ghijkl

23 response.update({"q": commons.q}) 1ghijkl

24 items = fake_items_db[commons.skip : commons.skip + commons.limit] 1ghijkl

25 response.update({"items": items}) 1ghijkl

26 return response 1ghijkl