lqs
d20566fe07
Some checks failed
Test / lint (push) Has been cancelled
Test / test (pydantic-v1, 3.10) (push) Has been cancelled
Test / test (pydantic-v1, 3.11) (push) Has been cancelled
Test / test (pydantic-v1, 3.12) (push) Has been cancelled
Test / test (pydantic-v1, 3.8) (push) Has been cancelled
Test / test (pydantic-v1, 3.9) (push) Has been cancelled
Test / test (pydantic-v2, 3.10) (push) Has been cancelled
Test / test (pydantic-v2, 3.11) (push) Has been cancelled
Test / test (pydantic-v2, 3.12) (push) Has been cancelled
Test / test (pydantic-v2, 3.8) (push) Has been cancelled
Test / test (pydantic-v2, 3.9) (push) Has been cancelled
Test / coverage-combine (push) Has been cancelled
Test / check (push) Has been cancelled
Issue Manager / issue-manager (push) Has been cancelled
Label Approved / label-approved (push) Has been cancelled
27 lines
689 B
Python
27 lines
689 B
Python
from typing import Union
|
|
|
|
from fastapi import Depends, FastAPI
|
|
from typing_extensions import Annotated
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]
|
|
|
|
|
|
class CommonQueryParams:
|
|
def __init__(self, q: Union[str, None] = None, skip: int = 0, limit: int = 100):
|
|
self.q = q
|
|
self.skip = skip
|
|
self.limit = limit
|
|
|
|
|
|
@app.get("/items/")
|
|
async def read_items(commons: Annotated[CommonQueryParams, Depends()]):
|
|
response = {}
|
|
if commons.q:
|
|
response.update({"q": commons.q})
|
|
items = fake_items_db[commons.skip : commons.skip + commons.limit]
|
|
response.update({"items": items})
|
|
return response
|