Flask RESTPlus API Swagger не показывает кнопку авторизации - PullRequest
0 голосов
/ 22 июня 2019

Когда задокументировано с использованием Swagger UI, Flask RestPlus API не показывает кнопку «Авторизовать», когда экземпляр 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
...

При запуске сервера он автоматически игнорирует параметр конфигурации и интерфейс авторизации отсутствует. Если бы кто-то мог пролить свет на то, почему это не удается, это было бы очень полезно. Спасибо!

1 Ответ

0 голосов
/ 22 июня 2019

Судя по всему, существовала зависимость в require.txt, который устанавливал устаревшую версию библиотеки flask-restplus.Обновление (0.9 -> 0.11) решило проблему (и добавило новый визуальный дизайн интерфейса Swagger, приятно ...).

...