作为Android开发者经常与后端接口打交道,有时面试也会被问到这个问题,这里简单总结记录一下。
关于RESTful API的介绍网上有很多,不过都说的太啰嗦了,一句话总结就是:
用URL定位资源,用HTTP动词来表达对资源的操作。
什么意思呢,看个例子:
资源描述(用名词):
http://api.example.com/v1/friends //表示好友列表
http://api.example.com/v1/user //表示用户信息
注意:
- URL路径不能写成
http://xx.xxx/xxx.do
或者http://xx.xxx/xxx.json
形式了 - URL路径中不能包含具体的动作描述如
http://xx.xxx/getUserById
或者http://xx.xxx/findNewWithId&id=3
- 版本号不能直接写到URL中如
http://xx.xxx/1.0/xxx
,使用http://xx.xxx/V1/xxx
代替
资源操作(用动词):
- 用GET请求获取资源
- 用POST请求来新增资源
- 用PUT请求来更新资源
- 用DELETE请求来删除资源
例如:
用GET请求http://api.example.com/v1/user
表示获取用户信息
用POST请求http://api.example.com/v1/user
表示新增用户
用PUT请求http://api.example.com/v1/user
表示更新用户信息
用DELETE请求http://api.example.com/v1/user
表示删除用户信息<
更通俗的来理解就是:
看Url就知道要搞什么东西,看http method就知道要怎么搞,看http status code就知道搞的结果如何。
更多参考指南:
理解RESTful架构
RESTful API 设计指南