如何在FastAPI中为每个端点生成一个独立的Swagger UI文档页面,而不是在一个页面中为所有端点生成API文档?

osh3o9ms  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(85)

有没有一种方法可以在自己的页面上生成每个端点,而不是像下面这样在单个页面上为所有端点生成文档:
比如说,我想在自己的专用页面上显示书籍的GET端点,而不显示其他端点。我之所以这样做是因为我使用了iframe标记来嵌入特定端点的UI。


的数据

58wvjzkj

58wvjzkj1#

您可以通过使用Sub applications来实现生成单独的Swagger UI(OpenAPI)autodoc。
在下面的示例中,您可以访问http://127.0.0.1:8000/docs上的 main API的Swagger UI autodocs,以及http://127.0.0.1:8000/subapi/docs上的 sub API的docs。

示例

from fastapi import FastAPI

app = FastAPI()

@app.get("/app")
def read_main():
    return {"message": "Hello World from main app"}

subapi = FastAPI()

@subapi.get("/sub")
def read_sub():
    return {"message": "Hello World from sub API"}

app.mount("/subapi", subapi)

字符串
如果您想在单个/docs页面中对端点进行分组/排序,请查看this answer

相关问题