Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Configurarea Corpului JSON cu Body(embed=True) în FastAPI

validation FastAPI 0.110+ / Python 3.10+ Q&A / Distribuie cod

Controlul structurii JSON pentru corpul cererii: împachetarea modelelor Pydantic sub o cheie rădăcină unică și combinarea parametrilor singulari.

Sintaxă
item: Annotated[Item, Body(embed=True)]

În mod normal, dacă o funcție primește un singur model Pydantic ca parametru, FastAPI așteaptă ca întreg corpul JSON să fie chiar acel obiect. Dacă însă dorești ca JSON-ul să fie împachetat sub o cheie specifică (de exemplu {"item": {"name": "Laptop", "price": 4000}}), poți folosi parametrul Body(embed=True).

De asemenea, Body() permite definirea de parametri scalari individuali (cum ar fi un număr întreg sau un string) care trebuie citiți direct din corpul JSON, nu din URL.

Exemplu: Folosirea Body(embed=True) pentru cheie rădăcină în JSON
from fastapi import FastAPI, Body
from pydantic import BaseModel
from typing import Annotated

app = FastAPI()

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

@app.post("/products")
async def create_product(
    product: Annotated[Product, Body(embed=True)],
    priority: Annotated[int, Body(ge=1, le=5, embed=True)]
):
    # Corpul așteptat este:
    # {
    #   "product": {"name": "Telefon", "price": 2500},
    #   "priority": 1
    # }
    return {"product": product, "priority": priority}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Configurarea Corpului JSON cu Body(embed=True)

Ai o nelămurire despre utilizarea comenzii Configurarea Corpului JSON cu Body(embed=True) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.