mirror of https://github.com/tiangolo/fastapi.git
26 lines
510 B
Python
26 lines
510 B
Python
from typing import Annotated
|
|
|
|
from fastapi import Cookie, Depends, FastAPI
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
def query_extractor(q: str | None = None):
|
|
return q
|
|
|
|
|
|
def query_or_cookie_extractor(
|
|
q: Annotated[str, Depends(query_extractor)],
|
|
last_query: Annotated[str | None, Cookie()] = None,
|
|
):
|
|
if not q:
|
|
return last_query
|
|
return q
|
|
|
|
|
|
@app.get("/items/")
|
|
async def read_query(
|
|
query_or_default: Annotated[str, Depends(query_or_cookie_extractor)],
|
|
):
|
|
return {"q_or_cookie": query_or_default}
|