如何让FastAPI读取文档字符串并在Swagger中正确展示参数描述?
FastAPI 利用文档字符串在Swagger中显示参数说明
可行,FastAPI支持通过函数文档字符串生成API参数的说明信息,只需使用它兼容的文档格式即可。
你当前的代码使用了reStructuredText风格的文档字符串,但未被FastAPI正确解析,导致Swagger页面的name参数下方未显示对应的说明文本(即“The name of the person to greet.”)。可以通过以下两种方式解决:
方式1:改用Google风格文档字符串(推荐)
将文档字符串调整为FastAPI默认支持的Google风格,修改后代码如下:
app = FastAPI() @app.get("/App/test2", tags=['App']) async def test2(name: str): """ This API returns a simple message. Args: name (str): The name of the person to greet. """ return {"message": "Hello " + name}
方式2:兼容reStructuredText格式
若想保留当前的reStructuredText格式,需确保项目安装了v2及以上版本的pydantic(该版本内置了对reStructuredText文档字符串的解析支持),执行升级命令:
pip install --upgrade pydantic
完成上述任一操作后,重启FastAPI服务,刷新Swagger页面,就能看到name参数下方显示对应的说明文本了。
内容的提问来源于stack exchange,提问作者John Henckel
相关产品推荐
相关产品推荐

