首页 > Windows开发 > 详细

fastapi小技巧

时间:2021-06-29 22:31:58      阅读:26      评论:0      收藏:0      [点我收藏+]

1、定制文档生成:

    参见 fastapi/applycations.py 中的setup.  /docs 把所有的路径routes 都包含进去了。参考实现根据tag 实现文档生成。

    要先生成docs 需要的openapi_url。(其中get_openapi 是fastapi.openapi.utils 内部的函数)

@app.get("/api/docs/{tag}/openapi.json",include_in_schema=False)
async def docs_tag(tag:str) -> JSONResponse:
    openapi_schema = get_openapi(
                title=app.title,
                version=app.version,
                openapi_version=app.openapi_version,
                description=app.description,
                routes=[router for router in app.routes if  tag in getattr(router,"tags",[]) ],
                tags=app.openapi_tags,
                servers=app.servers,
            )
    return JSONResponse(openapi_schema)

    再定义tag 的前端页面部分:

@app.get("/docs/{tag}",include_in_schema=False)
async def get_documentation_tag_api(tag:str):
    return get_swagger_ui_html(openapi_url=f"/api/docs/{tag}/openapi.json", title="docs")

 

fastapi小技巧

原文:https://www.cnblogs.com/xunhanliu/p/14950735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!