Swagger UI无.html文件时应在何处将validatorURL设为NULL关闭验证
私有EC2部署flask_swagger_ui关闭校验报错解决方案
validatorUrl是Swagger UI的前端渲染配置项,不属于OpenAPI/Swagger的接口定义规范,因此不能直接添加到swagger.json或对应的YAML设计文件中,强制添加不仅不会生效,还可能触发接口规范本身的格式校验错误。
针对你使用flask_swagger_ui的场景,无需新增html、config文件,直接按如下步骤修改即可:
- 找到项目中flask_swagger_ui蓝图初始化的代码段,在
get_swaggerui_blueprint方法的入参中新增config配置项,将validatorUrl设为None即可,参考代码如下:
from flask import Flask from flask_swagger_ui import get_swaggerui_blueprint app = Flask(__name__) # Swagger UI基础配置 SWAGGER_URL = '/swagger' # 你自定义的Swagger UI访问路径 API_URL = '/static/swagger.json' # 你的swagger.json文件的服务访问路径 swaggerui_blueprint = get_swaggerui_blueprint( SWAGGER_URL, API_URL, config={ 'app_name': "你的业务API名称", 'validatorUrl': None # 关闭在线schema校验,解决私有资源无法访问报错 } ) # 注册Swagger蓝图到Flask实例 app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL)
- 配置修改完成后重启Flask服务,再次访问Swagger UI页面即可看到报错消失。
注意:配置项的键为小写开头的validatorUrl,不要写成大写开头的ValidatorUrl,否则配置不会生效。
内容的提问来源于stack exchange,提问作者yodasoda18
相关产品推荐
相关产品推荐

