利用Python和Flask快速开发RESTful API

2020-06-19 00:00:00 创建 操作 更新 返回 资源

REST,即Representational State Transfer,翻译过来叫做“表现层状态转化”。关于REST以及RESTful API的相关概念、理解等,建议参考:理解RESTful架构 - 阮一峰的网络日志。这里我们不讨论这些理论知识,而是以Flask为基础,讲解如何快速开发RESTful API。

在利用Flask开发RESTful API之前,我们需要了解标准的HTTP方法有哪些?

  • GET 获取全部的资源 example.com/api/orders
  • GET 获取某个特定资源 example.com/api/orders/
  • POST 创建新资源 example.com/api/orders
  • PUT 更新特定资源 example.com/api/orders/
  • DELETE 删除特定资源 example.com/api/orders/

对应到RESTful API,得到标准的API接口:

  • GET 检索资源列表 http://[hostname]/todo/api/v1.0/items
  • GET 检索某个特定资源 http://[hostname]/todo/api/v1.0/items/[item_id]
  • POST 创建新资源 http://[hostname]/todo/api/v1.0/items
  • PUT 更新资源 http://[hostname]/todo/api/v1.0/items/[item_id]
  • DELETE 删除资源 http://[hostname]/todo/api/v1.0/items/[item_id]

针对上边的几种API接口的返回结果,返回状态码等,有一些规则说明:

  • GET检索资源列表,返回一个资源数组或字典,并返回状态码200,表示请求成功。
  • GET检索某个特定资源,返回单个资源,并返回状态码200,表示请求成功。
  • POST创建新资源,返回创建后的资源,并返回状态码201,表示资源创建成功。
  • PUT更新资源,返回更新后的资源,并返回状态码201,表示资源更新成功。
  • DELETE删除资源,返回空,并返回状态码204,表示资源删除成功,服务器已无该资源。

Flask是Python中常用的一种web开发框架,关于其基本知识大家可以自行学习。这里我们利用Flask中的Flask-RESTful库,快速生成RESTful API。

首先安装Flask-RESTful库:


pip install flask-restful

相关文章