Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

485
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda