Flask-RESTful против Flask-RESTplus

#flask #flask-restful #flask-restplus

#flask #flask-restful #flask-restplus

Вопрос:

Есть ли какие-либо реальные преимущества использования Flask-RESTplus над Flask-RESTful, помимо возможности автоматической генерации интерактивной документации для нашего API с использованием Swagger UI?

Комментарии:

1. Я согласен: учитывая, насколько похожи два API, было бы действительно приятно услышать от людей, которые испытали оба…

2. автор flask-restplus только что добавил в проект несколько сопровождающих из того же выпуска: github.com/noirbizarre/flask-restplus/issues/593

3. К вашему сведению: Появился новый форк, управляемый сообществом github.com/python-restx/flask-restx

Ответ №1:

Я использовал оба варианта, и единственной причиной, по которой мы перешли на Flask-restplus, было желание иметь автоматически сгенерированную документацию Swagger. По моему опыту, других заметных различий нет. Flask-RESTplus начинался как форк Flask-RESTful, поэтому, если вам так хочется, вы могли бы прочитать историю коммитов и посмотреть, есть ли какие-либо другие заметные различия.

Комментарии:

1. Мы также использовали Flask-restplus по этой причине.

2. Обратите внимание, что если единственной причиной использования flask-RESTplus является сгенерированная документация, вы можете использовать Flask-RESTful среди с помощью flasgger ( github.com/rochacbruno/flasgger ), то есть расширение Flask для извлечения OpenAPI= Specification из всех представлений Flask, зарегистрированных в вашем API.

3. Вероятно, вам следует упомянуть Flask-RESTX

Ответ №2:

обновление При чтении этого принятого ответа учтите, что существует Flask-RESTX, который является ответвлением Flask-RESTPlus, который поддерживается в качестве альтернативного варианта.

Я осознаю тот факт, что этот ответ, вероятно, слишком запоздал, но он все еще может быть полезен в будущем.

Согласно https://github.com/noirbizarre/flask-restplus/issues/593, Flask Restplus, скорее всего, мертв и заброшен. Последний коммит был сделан 1 октября 2018 года. Похоже, что проект больше не поддерживается активно.

Поэтому я советую вам использовать Flask Restful, несмотря на автоматически сгенерированные документы Swagger в Restplus. Поскольку Restplus не поддерживается, наиболее вероятно, что реализация рано или поздно устареет. Вместо того, чтобы переключаться на Restful, когда Restplus устареет, я думаю, что начать с самого Restful было бы лучшей идеей здесь.

Всего лишь мои два цента … 🙂

Комментарии:

1. Похоже, проект все-таки не собирается умирать. Согласно этому сообщению , noirbizarre, создатель проекта, ищет новых сопровождающих и поддерживает проект в рабочем состоянии.

2. Да, не заброшен. Смотрите также этот пост: github.com/noirbizarre/flask-restplus/issues/612 : «Будущая организация и дорожная карта Flask-restplus».

3. старые новости, на сегодняшний день проект активно поддерживается. Последний коммит был 3 дня назад github.com/noirbizarre/flask-restplus/commits/master 🙂

4. Обновление: RESTPlus был разветвлен на RESTX (добавляя еще больше путаницы в микс ..) github.com/noirbizarre/flask-restplus/pull/769

5. Я сам их не сравнивал, но если единственным заметным трюком, добавляемым ReSTplus , является Swagger documentation (как отметили другие), а также наблюдаемая нестабильность при повторном включении / выключении / повторной разветвлении (опять же, как отметили другие), зачем рисковать, используя его? Разве у нас недостаточно технологий, чтобы читать, учиться и следить за ходом этой короткой жизни? Просто придерживайтесь Flask-ReSTful и заставьте это работать на вас, как предложил комментатор @roipoussiere. 🙂

Ответ №3:

обновление Вам также следует рассмотреть возможность использования FastAPI — фреймворка, который становится популярным (см. Google trends). И, в отличие от Flask: имеет встроенную проверку данных, поддерживает асинхронные задачи, а также вы получаете пользовательский интерфейс Swagger.

Вы устанавливаете конечные точки с помощью декораторов, как в Flask, и, как сообщается, это быстрее.

Проверьте: https://fastapi.tiangolo.com /

Надеюсь, это поможет.