Flask RESTPlus API Swagger不显示“授权”按钮

时间:2019-06-22 09:10:39

标签: authentication button flask swagger flask-restplus

使用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
...

服务器启动时,它会静默忽略配置参数,并且缺少授权接口。 如果有人可以弄清楚为什么它失败了,那将非常有帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

显然,requests.txt中有一个依赖项,它安装了陈旧版本的flask-restplus库。更新(0.9-> 0.11)解决了该问题(并引入了Swagger UI的全新视觉设计,很好...)。