Flask RESTPlus API Swagger 不显示授权按钮
Flask RESTPlus API Swagger doesn't show Authorize button
当记录使用 Swagger UI 时,当 Api 实例配置为使用授权时,Flask RestPlus API 不会显示授权按钮。
无论 Api 是在实例化时配置还是稍后使用 init_app 方法配置,都没有区别。授权字段被忽略。
from flask import Blueprint
from flask_restplus import Api
from MyPackage import settings
authorizations = {
'apikey': {
'type': 'apiKey',
'in': 'header',
'name': 'oauth2'
}
}
api = Api(
authorizations=authorizations,
description=settings.API_DESCRIPTION,
title=settings.API_TITLE,
version=settings.API_VERSION,
)
blueprint = Blueprint('api', __name__, url_prefix='/api')
api.init_app(blueprint)
app.register_blueprint(blueprint)
app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION
app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER
...
当服务器启动时,它会自动忽略配置参数,并且缺少授权界面。
如果有人可以阐明失败的原因,那将非常有帮助。谢谢!
显然,requirements.txt 中存在依赖项,它安装了 flask-restplus 库的陈旧版本。更新 (0.9 -> 0.11) 解决了这个问题(并引入了 Swagger UI 的全新视觉设计,很好...)。
当记录使用 Swagger UI 时,当 Api 实例配置为使用授权时,Flask RestPlus API 不会显示授权按钮。
无论 Api 是在实例化时配置还是稍后使用 init_app 方法配置,都没有区别。授权字段被忽略。
from flask import Blueprint
from flask_restplus import Api
from MyPackage import settings
authorizations = {
'apikey': {
'type': 'apiKey',
'in': 'header',
'name': 'oauth2'
}
}
api = Api(
authorizations=authorizations,
description=settings.API_DESCRIPTION,
title=settings.API_TITLE,
version=settings.API_VERSION,
)
blueprint = Blueprint('api', __name__, url_prefix='/api')
api.init_app(blueprint)
app.register_blueprint(blueprint)
app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION
app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER
...
当服务器启动时,它会自动忽略配置参数,并且缺少授权界面。 如果有人可以阐明失败的原因,那将非常有帮助。谢谢!
显然,requirements.txt 中存在依赖项,它安装了 flask-restplus 库的陈旧版本。更新 (0.9 -> 0.11) 解决了这个问题(并引入了 Swagger UI 的全新视觉设计,很好...)。