Flask MethodView против Flask-Restful Resource

В чем разница между MethodView и Resource?

Он реализует API с помощью flask-restful:

class API(Resource):
    decorators = [...,]

    def get(self):
        # do something
    def post(self):
        # do something
    def put(self):
        # do something
    def delete(self):
        # do something

На самом деле его можно заменить колбой:

class API(MethodView):
    decorators = [...,]

    def get(self):
        # do something
    def post(self):
        # do something
    def put(self):
        # do something
    def delete(self):
        # do something

Я думаю, что Flask достаточно рассказал о создании Restful API. Я не могу найти, что flask-restful может делать больше, чем flask, потому что у них есть методы CRUD и декораторы в классе механизма в одном и том же. Что особенного в flask-restful?

Я оцениваю, действительно ли мне нужен Flask-Restful. Пожалуйста, скажите мне, спасибо.


person Tony    schedule 29.01.2016    source источник


Ответы (1)


Мне было интересно то же самое, и, согласно этому сообщению, ресурс унаследован от Methodview (http://blog.miguelgrinberg.com/post/designing-a-restful-api-using-flask-restful). В статье также описывается дополнительная ценность по сравнению с обычным Flask, например «Flask-RESTful предоставляет гораздо лучший способ справиться с этим с помощью класса RequestParser. Этот класс работает аналогично argparse для аргументов командной строки». И большая часть работы с вашим API по-прежнему связана с аутентификацией и безопасностью, например с проверкой параметров/данных.

Спасибо Мигелю за отличный блог. Я использую flask-restful, потому что он кажется довольно зрелым.

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

person Eino Mäkitalo    schedule 26.02.2016
comment
Если вы планируете использовать flask-restful для его RequestParser, я предлагаю вам прочитать эти ссылки: flask-restful.readthedocs.io/en/0.3.5/reqparse.html и github.com/flask-restful/flask-restful/issues/335. По сути, парсер запросов устарел в пользу вебаг. Предполагается (и благословлено flask-restful dev), что в настоящее время вы также можете использовать flask MethodView + flask-classful + marshmallow + webargs (flask-classful — это ответвление заброшенного flask-classy). - person Jérôme; 12.05.2016