Flask RESTful API开发 高效定义资源

Flask-RESTful 库的应用

在RESTful API设计中,最核心的概念就是Resource。通过Flask-RESTful库,我们可以高效率地开发建立在Resource上的REST API。

pip install flask-restful

Flask 下的传统资源定义方法

  • 创建 Flask app
    app = Flask(__name__)

  • 设置路由(routes)
    @app.route('/item/<string:name>', methods=['GET'])

  • 为路由分配对应方法(methods)

    @app.route('/item/<string:name>', methods=['GET'])
    def get_item(name):
      return {'Item': name}, 200
    

这样就完成了对资源item的GET方法定义。

Flask-RESTful 下更高效的资源定义方法

  • 引入Flask-RESTful

    Flask-RESTful 提供了两个非常重要的class:

    from flask_restful import Resource, Api

  • 创建对象Api

    初始化过程中添加创建Api的步骤:

    app= Flask(__name__)
    api = Api(app)
    
  • 通过继承Resource类创建资源

    通过 Resource 类,需要定义的资源可以通过继承 Resource 来创建:
    class Item(Resource):

  • 在资源下添加CRUD操作方法

    而对此资源的CRUD操作则直接作为methods添加在类下:

    class Item(Resource):
    
      def get(self, name):
        return {'Student': name}, 200
    
      def post(self, name):
        pass
    
  • 将资源添加进Api,并设置资源与路由的对应关系:

    api.add_resource(Item, '/item/<string:name>')

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,275评论 19赞 139
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,517评论 22赞 257
  • 工作原理: 客户端发送request,服务端response一个json对象。 restful是一种设计模式,它的...
    wwhhaa阅读 593评论 0赞 0
  • 人莫不饮食也。鲜能知味也
    strive邱邱阅读 177评论 0赞 1
  • 独乐乐,众乐乐每一种职业都有自己的价值所在,敬职敬责做好自己的工作,便是一种美好的分享。分享背后,你的举手之劳,浇...
    洛洛不言阅读 240评论 0赞 0

友情链接更多精彩内容