FastAPI中为请求体加描述?交互文档不显示描述问题
解决FastAPI请求体描述不显示的问题
你当前的写法无法让交互API文档显示请求体描述,是因为FastAPI需要明确指定请求体参数的必填性或通过模型配置关联描述。以下是两种可行的解决方案:
方案一:调整Body参数写法
将Body(description="new")改为Body(..., description="new"),其中...表示该请求体为必填项,描述会正常显示在Swagger UI中:
@app.post("/items") async def create_item(item: Item = Body(..., description="new")): return {"item": item.dict()}
方案二:通过Pydantic模型添加描述
如果需要给整个请求体模型添加更详细的描述,可以在Pydantic模型中配置描述信息:
Pydantic v2 写法
from pydantic import BaseModel, ConfigDict class Item(BaseModel): model_config = ConfigDict(description="这是请求体的描述内容") name: str price: float
Pydantic v1 写法
from pydantic import BaseModel class Item(BaseModel): name: str price: float class Config: description = "这是请求体的描述内容"
两种方案都能让交互API文档正确展示请求体的描述信息。
内容的提问来源于stack exchange,提问作者Venkateshwar Reddy
相关产品推荐
相关产品推荐

