mirror of https://github.com/tiangolo/fastapi.git
23 lines
522 B
Python
23 lines
522 B
Python
from typing import List
|
|
|
|
from fastapi import FastAPI, Query
|
|
from pydantic import BaseModel, Field
|
|
from typing_extensions import Annotated, Literal
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
class FilterParams(BaseModel):
|
|
class Config:
|
|
extra = "forbid"
|
|
|
|
limit: int = Field(100, gt=0, le=100)
|
|
offset: int = Field(0, ge=0)
|
|
order_by: Literal["created_at", "updated_at"] = "created_at"
|
|
tags: List[str] = []
|
|
|
|
|
|
@app.get("/items/")
|
|
async def read_items(filter_query: Annotated[FilterParams, Query()]):
|
|
return filter_query
|