fastapi主动生成的接口文档,基于Swagger UI, 然而在外部局域网环境无法访问cdn,因而无奈主动生成docs接口文档.
如果要在内网环境生成docs接口文档,须要批改示例代码如下:
from fastapi import FastAPIimport osfrom fastapi.openapi.docs import ( get_redoc_html, get_swagger_ui_html, get_swagger_ui_oauth2_redirect_html,)from fastapi.staticfiles import StaticFilesapp = FastAPI(docs_url=None, redoc_url=None)root = os.path.abspath(os.path.join(os.path.basename(__file__), "../.."))print(root)app.mount("/static", StaticFiles(directory=f"{root}/static"), name="static")@app.get("/docs", include_in_schema=False)async def custom_swagger_ui_html(): return get_swagger_ui_html( openapi_url=app.openapi_url, title=app.title + " - Swagger UI", oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url, swagger_js_url="/static/swagger-ui-bundle.js", swagger_css_url="/static/swagger-ui.css", )@app.get(app.swagger_ui_oauth2_redirect_url, include_in_schema=False)async def swagger_ui_redirect(): return get_swagger_ui_oauth2_redirect_html()@app.get("/redoc", include_in_schema=False)async def redoc_html(): return get_redoc_html( openapi_url=app.openapi_url, title=app.title + " - ReDoc", redoc_js_url="/static/redoc.standalone.js", )@app.get( "/users/{username}", tags=["test"], name="TESTROUTER", description="TESTROUTER",)async def read_user(username: str): return {"message": f"Hello {username}"}if __name__ == '__main__': import uvicorn uvicorn.run(app, host="127.0.0.1", port=8000)
注: 须要把swagger-ui.css
和swagger-ui-bundle.js
放到static文件夹下, 此文件夹放在下面示例代码的上一级目录下.
Flutter 写的app, 须要源码能够私信~~
- 简繁火星字体转换
- 哄女友神器
- 号码测吉凶
- 电视节目直播表
最好的笔记软件
https://www.wolai.com/signup?...