【问题标题】:FastAPI: How to show multiple request examples in the docs and keep the default oneFastAPI:如何在文档中显示多个请求示例并保留默认示例
【发布时间】:2022-11-24 02:21:56
【问题描述】:

我想在 FastAPI 文档中展示不同的请求示例。 如此处所述:https://fastapi.tiangolo.com/tutorial/schema-extra-example

此代码创建了两个示例(“丹麦,瑞典”)但是当我运行它时,自动 生成的完整示例不再可用。

如何将默认示例保留在示例列表的顶部而无需手动重新创建它?

from fastapi import FastAPI, Body
from pydantic import BaseModel
import uvicorn


class HelloWorld(BaseModel):
    hello: str
    world: str = "World"

app = FastAPI()

@app.post("/")
def post_root(
    hwr: HelloWorld = Body(
        ...,
        examples={
         
            # add "default example" here  
            "denmark": {"summary": "A Denmark example", "value": {"hello": "denmark"}},
            "sweden": {"summary": "A Sweden example", "value": {"hello": "sweden"}},
        }

    )
):
    return {"Hello": "World"}


if __name__ == "__main__":
    uvicorn.run(app=app, host="0.0.0.0", port=5085)

【问题讨论】:

    标签: python fastapi


    【解决方案1】:

    添加没有“值”的“默认”条目会将默认值添加到示例列表中。

        examples={
            # add "default example" here  
            "default": {"summary": "Default example"},
    
            "denmark": {"summary": "A Denmark example", "value": {"hello": "denmark"}},
            "sweden": {"summary": "A Sweden example", "value": {"hello": "sweden"}},
        }
    

    注意:如果你想对回复做同样的事情,Medium article 解释了如何做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2015-02-23
      • 1970-01-01
      • 2021-09-02
      相关资源
      最近更新 更多