如何在Flasgger中默认展开Swagger UI的Schema面板?
解决Flasgger中Swagger UI Schema默认展开的问题
实现思路
Flasgger支持通过配置Swagger UI的专属参数来控制Schema的展开状态,核心是设置两个关键参数:defaultModelsExpandDepth和defaultModelExpandDepth,将它们设为-1即可让所有层级的Schema默认展开。
修改后的Flask代码
from flasgger import Swagger, swag_from from flask import Flask app = Flask(__name__) # 配置Swagger UI,开启Schema默认展开 swagger = Swagger( app, config={ "ui_params": { "defaultModelsExpandDepth": -1, # 展开Models板块下的所有模型项 "defaultModelExpandDepth": -1 # 展开单个模型的所有嵌套属性层级 } } ) @swag_from("example.yml", methods=["GET"]) @app.route("/") def example(): return "Hello World!" if __name__ == "__main__": app.run()
参数说明
defaultModelsExpandDepth: 控制Swagger UI左侧Models板块中各模型的展开状态,-1表示展开所有模型,正整数则对应展开指定层级的模型。defaultModelExpandDepth: 控制单个模型内部嵌套属性的展开状态,-1表示展开所有嵌套层级,正整数对应展开到指定层级。
验证方式
启动Flask应用后访问http://127.0.0.1:5000/apidocs,即可看到所有Schema模型默认处于完全展开状态,无需手动点击展开按钮。
内容的提问来源于stack exchange,提问作者pyjedy
相关产品推荐
相关产品推荐

