SEO优化:FastAPI:docs文档无法加载的解决方法fastapiswagger文档经常打不开fastapiswagger文档一直没有显示,一直在加载fastapiswagger文档的js和css加载超时fastapiswagger文档的cdnfastapiswagger文档的js和cssCannotopencdn.jsdelivrcdn.jsdelivrconnectiontimeoutcdn.jsdelivr无法访问cdn.jsdelivr被邪恶的长城屏蔽了jsdelivrcdn,所以国内用户无法访问,就是穷人的原因fastapiswagger文档体验:https://cdn.jsdelivr.net/npm/swagger-ui-dist@3/swagger-ui-bundle.jshttps://cdn.jsdelivr.net/npm/swagger-ui-dist@3/swagger-ui.csshttps://cdn.jsdelivr.net/npm/redoc@latest/bundles/redoc.standalone.js解决方案?使用下面的代码:api.pyimportuvicornfromfastapiimportFastAPI,File,Form,UploadFilefromfastapi.staticfilesimportStaticFilesfromfastapi.middleware.corsimportCORSMiddlewarefromfastapi.openapi.docsimport(get_redoc_html,get_swagger_ui_html,get_swagger_ui_oauth2_redirect_html,)从标记导入BASE_DIRapp=FastAPI(docs_url=None,redoc_url=None)导入设置,名字='static')app.add_middleware(CORSMiddleware,allow_origins=["*"],allow_credentials=True,allow_methods=["*"],allow_headers=["*"],)@app.get("/docs",include_in_schema=False)asyncdefcustom_swagger_ui_html():returnget_swagger_ui_html(openapi_url=app.openapi_url,title=app.title+"-SwaggerUI",oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url,#swagger_js_url=BASE_DIR/'static'/'swagger-ui'/'swagger-ui-bundle.js',#swagger_css_url=BASE_DIR/'static'/'swagger-ui'/'swagger-ui.css',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)asyncdefswagger_ui_redirect():returnget_swagger_ui_oauth2_redirect_html()@app.get("/redoc",include_in_schema=False)异步defredoc_html():返回nget_redoc_html(openapi_url=app.openapi_url,title=app.title+"-ReDoc",redoc_js_url="/static/redoc.standalone.js",)if__name__=="__main__":uvicorn.run(app='api:app',host="0.0.0.0",port=8000,)mark.pyfrompathlibimportPathBASE_DIR=Path(__file__).resolve().parentMEDIA_PATH=BASE_DIR/'media'注意有两点:app=FastAPI(docs_url=None,redoc_url=None)这两个应该是None(忘了)我的静态文件结构:static下面创建一个swagger-ui文件夹:这三个文件的下载地址:swagger-ui-bundle.jsswagger-ui。cssredoc.standalone.js没有找到下载地址。这里的下载地址都是非cdn.jsdelivr.net地址。参考文章:FastApi教程|扩展的OpenAPI下载文件
