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

228
Views
Mostrar descripción o comentarios para variables en documentos de swagger

Estoy haciendo una función y una clase con el método de publicación.

Dado que uso FastAPI, genera automáticamente la página de documentos de Swagger y puedo ver la descripción de la función o datos de ejemplo allí.

Mi clase y función son como a continuación,

 from pydantic import BaseModel, Field from typing import Optional, List @app.post("/user/item") def func1(args1: User, args2: Item): ... class User(BaseModel): name: str state: List[str] class Config: schema_extra = { "example": { "name": "Mike", "state": ["Texas", "Arizona"] } } class Item(BaseModel): _id: int = Field(..., example=3, description="item id")

A través schema_extra y el atributo de example en Field , puedo ver el valor de ejemplo en el Request body de descripción de la función.

se muestra como

 { "args1": { "name": "Mike", "state": ["Texas", "Arizona"] # state user visits. <-- I'd like to add this here or in other place. }, "args2: { "_id": 3 <-- Here I can't description 'item id' } }

Sin embargo, me gustaría agregar una descripción o comentarios al example value , como # visitas de usuarios de estado anteriores.

Intenté agregar el atributo de description de pydantic Field , pero creo que solo se muestra para los parámetros del método get.

¿Hay alguna manera de hacer esto? Cualquier ayuda será apreciada.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Está intentando pasar "comentarios" dentro de la carga útil JSON real que se enviará al servidor. Por lo tanto, tal enfoque no funcionaría. La forma de agregar una description a los campos es como se muestra a continuación. Los usuarios/usted puede ver las descripciones/comentarios, así como los ejemplos proporcionados, expandiendo el esquema JSON correspondiente de un modelo de Pydantic (por ejemplo, "Usuario") en "Esquemas" (en la parte inferior de la página) al visitar OpenAPI en http://127.0.0.1:8000/docs , por ejemplo. O bien, haciendo clic en "Esquema", junto a "Valor de ejemplo", encima del ejemplo proporcionado en el "Cuerpo de la solicitud".

 class User(BaseModel): name: str = Field(..., description="Add user name") state: List[str] = Field(..., description="State user visits") class Config: schema_extra = { "example": { "name": "Mike", "state": ["Texas", "Arizona"] } }

Alternativamente, puede usar el campo Body en su punto final, lo que le permite agregar una descripción que se muestra debajo del ejemplo en el "Cuerpo de la solicitud". Según la documentación :

Pero cuando usa un example o examples con cualquiera de las otras utilidades ( Query() , Body() , etc.) esos ejemplos no se agregan al esquema JSON que describe esos datos (ni siquiera a la propia versión del esquema JSON de OpenAPI), se agregan directamente a la declaración de la operación de ruta en OpenAPI (fuera de las partes de OpenAPI que usan JSON Schema).

Puede agregar varios ejemplos (con sus descripciones asociadas), como se describe en la documentación . Ejemplo a continuación:

 @app.post("/user/item") async def update_item( user: User = Body( ..., examples={ "normal": { "summary": "A normal example", "description": "**name**: Add user name. **state**: State user vistis. ", "value": { "name": "Mike", "state": ["Texas", "Arizona"] }, } } ), ): return {"user": user}
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!