RESTful
- Representational State Transfer:表中状态转移
- 资源(Resources),表现层(Representation),状态转化(State Transfer)
RESTful风格
- Resources(资源):使用URI指向的一个实体
- Representation(表现层):资源的表现形式,比如图片、HTML文本等
- State Transfer(转态转化):GET、POST、PUT、DELETE HTTP动词来操作资源
常用HTTP动词
- RESTful解释
- GET/POST/PUT/DELETE分别用来 获取/新建/更新/删除 资源
- 幂等性:GET/PUT/DELETE是幂等操作(无论操作多少次都是获得同样的数据,幂等的可以放心的多次请求,非幂等就要注意)
- 幂等指的是无论一次还是多次操作具有一样的副作用
Tornado RESTful Api示例
HTTP方法 | URL | 动作 |
---|---|---|
GET | http://[hostname]/api/users | 检索用户列表 |
GET | http://[hostname]/api/users/[user_id] | 检索单个用户 |
POST | http://[hostname]/api/users | 创建新用户 |
PUT | http://[hostname]/api/users/[user_id] | 更新用户信息 |
DELETE | http://[hostname]/api/users/[user_id] | 删除用户 |
简单实现
- 使用Tornado实现Restful Api
- Tornado适合构建RESTful微服务
- 实现UserModel
- 实现UserListRequesthandler和UserRequestHandler
相关代码
1 | # models/user.py |
1 | # handlers/user.py |
1 | # app.py |