使用Swagger UI进行记录时,当Api实例配置为使用授权时,Flask RestPlus API不会显示“授权”按钮。
无论是在实例化时还是在以后使用init_app方法配置Api,它都没有区别。授权字段将被忽略。
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
...
服务器启动时,它会静默忽略配置参数,并且缺少授权接口。 如果有人可以弄清楚为什么它失败了,那将非常有帮助。谢谢!
答案 0 :(得分:0)
显然,requests.txt中有一个依赖项,它安装了陈旧版本的flask-restplus库。更新(0.9-> 0.11)解决了该问题(并引入了Swagger UI的全新视觉设计,很好...)。