RESTful API 理解
Mar 14 2015参考
理解RESTful架构
RESTful API 设计指南
来自HeroKu的HTTP API 设计指南(中文版)
概念
REST == Representational State Transfer,意思是表现层状态转化,我们来分解这个概念。
从字面以上理解这是一个操作的过程,实际上它省略了主语资源(Resources),合起来就是资源的表现层状态转化。
资源 Resources
需要操作的对象,可以是文本,图片,等等互联网上的各种资源,可以通过URI(统一资源定位符)来访问。
表现层 Representational
资源是客户端从服务器请求过去的,表现层代表了资源在传递过程中的表现形式,比如一个文本,可以是html,xml,json等等的形式,或者干脆是二机制。
表现层在Request HTTP header中通过Accept
字段表示请求的数据类型,在Response HTTP header中通过Content-Type
指定数据格式。
状态转化 State Transfer
在HTTP请求过程中对资源的操作过程就是状态的转化,使用HTTP的各种方法来实现对资源的操作。
- GET 获取资源
- POST 新增或者修改资源
- PUT 修改资源
- DELETE 删除资源
符合REST原则的API构建就是RESTful构架,从以上分析可以得出结论。
- 每个URI代表一个资源
- 客户端与服务端通过某种表现形式来传递资源
- 通过HTTP方法来操作资源实现资源的状态转化
计划
有两个计划待实现:
- Django forum RESTful API设计实现;
- 微信公众平台Python开发框架设计实现。
准备参考参考文章中的后2篇实现Django forum的RESTful API。