Flask MethodView与Flask-Restful Resource

Ton*_*ony 8 python rest flask flask-restful

MethodView和Resource有什么区别?

它通过flask-restful实现API:

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

    def get(self):
        # do something
    def post(self):
        # do something
    def put(self):
        # do something
    def delete(self):
        # do something
Run Code Online (Sandbox Code Playgroud)

实际上,它可以用烧瓶代替:

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

    def get(self):
        # do something
    def post(self):
        # do something
    def put(self):
        # do something
    def delete(self):
        # do something
Run Code Online (Sandbox Code Playgroud)

我认为Flask已经提供了关于建立Restful API的足够信息.我找不到烧瓶 - 宁静可以做更多的东西而不是烧瓶,因为他们有CRUD方法和装饰机在同类机制.烧瓶安息有什么特别之处?

我正在评估Flask-Restful是否真的对我来说是必要的.请告诉我,谢谢.

Ein*_*alo 5

我想知道同样的事情,根据这篇文章资源是从 Methodview 继承的(http://blog.miguelgrinberg.com/post/designing-a-restful-api-using-flask-restful)。文章还描述了与普通 Flask 相比的附加值,例如“Flask-RESTful 提供了一种更好的方法来使用 RequestParser 类处理此问题。该类的工作方式与命令行参数的 argparse 类似。” API 的大部分工作仍然与身份验证和安全性有关,例如参数/数据检查。

感谢米格尔的精彩博客。我使用flask-restful,因为它看起来相当成熟。

如果您的需求非常小,那么我认为您可以仅使用烧瓶方法。

  • 如果您考虑使用flask-restful作为其RequestParser,我建议您阅读这些链接:http://flask-restful.readthedocs.io/en/0.3.5/reqparse.html和https://github.com/flask-休息/烧瓶休息/问题/335。基本上,请求解析器已被弃用,取而代之的是 webargs。建议(并受到flask-restful 开发者的祝福)现在,您不妨使用flask MethodView + Flask-classful + marshmallow + webargs(flask-classful 是废弃的flask-classy 的一个分支)。 (8认同)