flask_restplus: как настроить динамическую документацию? - PullRequest
0 голосов
/ 07 сентября 2018

Я работаю над проектом с использованием flask_restplus версии 0.10.1. У нас нет возможности использовать другую версию.

Мы используем его для интерфейса REST-ful, маршрутизация которого контролируется через файл конфигурации. Мы делаем это, используя следующую конструкцию:

@app.route('/<path:path>')
class OurResource(Resource)
    def get(self, path):
        # ... etc. ...

Метод get вызывает подпрограмму, которая ищет path в данных, которые мы загрузили из файла конфигурации, и использует эти данные, чтобы решить, как ответить на запрос. Это позволяет нам изменять поведение нашего приложения с помощью конфигурации и без необходимости перестраивать приложение flask_restplus или даже перезапускать веб-сервер.

Поскольку не существует жестко закодированных маршрутов для использования модулем автоматической документации flask_restplus, мне нужно сгенерировать необходимые внутренние структуры документации swagger на основе информации в нашем конфигурационном файле. Я еще не понял, как это сделать.

Эта документирующая документация обычно генерируется с помощью вызовов методов в классе flask_restplus.Api, но когда я пытаюсь создать подкласс, я получаю ошибки. Этот класс явно не предназначен для использования в подклассах, что означает, что я не могу просто переопределить несколько методов и заставить подкласс генерировать документы на основе данных нашего файла конфигурации.

Есть ли способ в flask_restplus генерировать структуры документации swagger на лету во время выполнения, основываясь на внешней информации, такой как информация в нашем конфигурационном файле?

Заранее благодарю за любые предложения.

...