Paramètres de requête

Fonctions pour déclarer d’où proviennent les paramètres.

Query

def Query(
    default: Any = ...,
    *,
    alias: str = None,
    title: str = None,
    description: str = None,
    gt: float = None,
    ge: float = None,
    lt: float = None,
    le: float = None,
    min_length: int = None,
    max_length: int = None,
    pattern: str = None,
    examples: List[Any] = None,
    deprecated: bool = None,
    ...
) -> Any

Déclare un paramètre de chaîne de requête.

Exemple :

@app.get("/items")
def list_items(
    page: int = Query(1, ge=1),
    limit: int = Query(10, ge=1, le=100)
):
    return []

Body

def Body(
    default: Any = ...,
    *,
    alias: str = None,
    title: str = None,
    description: str = None,
    examples: List[Any] = None,
    deprecated: bool = None,
    ...
) -> Any

Déclare un paramètre de corps de requête.

Exemple :

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float

@app.post("/items")
def create_item(item: Item = Body(...)):
    return item

Path

def Path(
    default: Any = ...,
    *,
    alias: str = None,
    title: str = None,
    description: str = None,
    gt: float = None,
    ge: float = None,
    lt: float = None,
    le: float = None,
    min_length: int = None,
    max_length: int = None,
    pattern: str = None,
    examples: List[Any] = None,
    deprecated: bool = None,
    ...
) -> Any

Déclare un paramètre de chemin. Généralement implicite mais peut être rendu explicite.

Exemple :

@app.get("/items/<int:item_id>")
def get_item(item_id: int = Path(..., gt=0)):
    return {"id": item_id}



Form

def Form(
    default: Any = ...,
    *,
    alias: str = None,
    title: str = None,
    description: str = None,
    ...
) -> Any

Déclare un paramètre de champ de formulaire (pour application/x-www-form-urlencoded ou multipart/form-data).

Exemple :

@app.post("/login")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username}