可将配置加载的代码逻辑放在register_middleware(中间件处理的过程中),位置如下:本文地址:http://www.04007.cn/article/1213.html,未经许可,不得转载.
# 中间件处理 def register_middleware(app: FastAPI): @app.middleware("http") # 在如下方法之前进行全局配置加载 response = await call_next(request) ....此外,FastAPI的默认接口文档 /docs# 之前有篇文章中已经做了第一步优化,即将其加载的资源文件地址由外网资源文件改成本地资源文件(即调用本地static中的内容,可见官网的文档),但有个问题就是线上环境和测试环境需要进行不一样的配置,如测试环境保持接口文档长期开放以便开发,而线上环境的接口文档默认应该是关闭状态,以防暴露信息。但是线上环境有时需要排查问题又需要进行开放,这时如果在后台能有一个开关控制接口文档的开放/关闭状态就非常好,其实实现起来也很方便。在自定义的接口html页面方法中操作即可:本文地址:http://www.04007.cn/article/1213.html,未经许可,不得转载.
async def custom_swagger_ui_html(): # 读取全局配置判断是否开放并处理 # return # 接下来便是返回接口文档 return get_swagger_ui_html()如上进行一些操作处理,就可以由后台来控制接口文档的开关状态了。本文地址:http://www.04007.cn/article/1213.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1213.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |