利用Python和Flask快速开发RESTful API
REST,即Representational State Transfer,翻译过来叫做“表现层状态转化”。关于REST以及RESTful API的相关概念、理解等,建议参考:理解RESTful架构 - 阮一峰的网络日志。这里我们不讨论这些理论知识,而是以Flask为基础,讲解如何快速开发RESTful API。
在利用Flask开发RESTful API之前,我们需要了解标准的HTTP方法有哪些?
- GET 获取全部的资源 http://example.com/api/orders
- GET 获取某个特定资源 http://example.com/api/orders/123
- POST 创建新资源 http://example.com/api/orders
- PUT 更新特定资源 http://example.com/api/orders/123
- DELETE 删除特定资源 http://example.com/api/orders/123
对应到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
相关文章