Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

480
Views
Los documentos de FastAPI se despliegan para mostrar múltiples ejemplos para el cuerpo de la solicitud no está allí

Estoy siguiendo el tutorial de FastAPI y la parte https://fastapi.tiangolo.com/tutorial/schema-extra-example/ sobre mostrar varios ejemplos. Copié el código:

 from typing import Optional from fastapi import Body, FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str description: Optional[str] = None price: float tax: Optional[float] = None @app.put("/items/{item_id}") async def update_item( *, item_id: int, item: Item = Body( ..., examples={ "normal": { "summary": "A normal example", "description": "A **normal** item works correctly.", "value": { "name": "Foo", "description": "A very nice Item", "price": 35.4, "tax": 3.2, }, }, "converted": { "summary": "An example with converted data", "description": "FastAPI can convert price `strings` to actual `numbers` automatically", "value": { "name": "Bar", "price": "35.4", }, }, "invalid": { "summary": "Invalid data is rejected with an error", "value": { "name": "Baz", "price": "thirty five point four", }, }, }, ), ): results = {"item_id": item_id, "item": item} return results

exactamente como se muestra en la página y lo ejecuto usando Uvicorn. En mi pantalla no veo ningún menú desplegable con los 3 ejemplos en el diccionario de ejemplos del cuerpo de la solicitud. Todo lo que veo es un único valor de ejemplo con solo los tipos que deben tener los campos. ¿Por qué sería eso y por qué esto no funciona para mí, por favor?

Esto es lo que debería obtener: ingrese la descripción de la imagen aquí

pero esto es lo que obtengo: ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No estoy seguro si esto podría ayudar: https://github.com/tiangolo/fastapi/pull/1267#issuecomment-762557261 Esto significa dos cosas:

  1. los ejemplos deben ir en Item.Config.schema_extra
  2. El parámetro de ejemplos debe estar referenciado a los datos de la clase.

Algo como esto:

 class Item(BaseModel): name: str description: Optional[str] = None price: float tax: Optional[float] = None class Config: schema_extra = { "examples": { "normal": { "summary": "A normal example", "description": "A **normal** item works correctly.", "value": { "name": "Foo", "description": "A very nice Item", "price": 35.4, "tax": 3.2, }, }, "converted": { "summary": "An example with converted data", "description": "FastAPI can convert price `strings` to actual `numbers` automatically", "value": { "name": "Bar", "price": "35.4", }, }, "invalid": { "summary": "Invalid data is rejected with an error", "value": { "name": "Baz", "price": "thirty five point four", }, }, } } @app.put("/items/{item_id}") async def update_item( *, item_id: int, item: Item = Body( None, examples=Item.Config.schema_extra["examples"], ), ): results = {"item_id": item_id, "item": item} return results

¡Me ayudó!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!