什么是REST
REST(REpresentational State Transfer),表述性状态转移。REST是分布式超媒体架构风格,来源于Roy Fielding的论文中。REST是一组架构原则,并非协议或标准,它的目的是帮助在世界各地不同软件、程序在网络中能够互相传递信息。
REST6大原则
1、客户端-服务器
2、无状态
3、可缓存
4、统一接口
5、分层系统
6、按需编码
资源
资源是任何可以被命名的事物。REST中信息的关键抽象是一种资源,REST使用资源标识符来标识组件之间交互中涉及的特定资源。
统一接口限制
1、资源标识
// 获取用户
https://api.github.com/users
// 获取特定用户
https://api.github.com/users/:id
2、通过表述来操作资源
// 更新用户信息
octokit.request('PATCH /user', {
name: 'name'
})
3、自描述信息
$ curl -I https://api.github.com/users/octocat/orgs
> HTTP/1.1 200 OK
> Server: nginx
> Date: Fri, 12 Oct 2012 23:33:14 GMT
> Content-Type: application/json; charset=utf-8
> Status: 200 OK
> ETag: "a00049ba79152d03380c34652f2cb612"
> X-GitHub-Media-Type: github.v3
> X-RateLimit-Limit: 5000
> X-RateLimit-Remaining: 4987
> X-RateLimit-Reset: 1350085394
> Content-Length: 5
> Cache-Control: max-age=0, private, must-revalidate
> X-Content-Type-Options: nosniff
4、超媒体作为应用状态的引擎
// 获取特定用户
https://api.github.com/users/:id
// 部分返回信息
{
followers_url: "https://api.github.com/users/kongjun0320/followers"
}
RESTful API
1、符合REST架构风格的API
- 基本的URI
- 标准的HTTP方法
- 传输的数据媒体类型
API | 方法 | 描述 | api.github.com/users | GET | 获取用户列表 | api.github.com/users/7 | GET | 获取特定用户 | api.github.com/users | POST | 创建用户 | api.github.com/users/7 | PUT | 更新用户 | api.github.com/users/7 | DELETE | 删除用户 |
---|
2、资源命名规范
-
使用名词来表示资源
-
使用正斜杆(/)表示层次关系
-
使用连字符(-)来提高URI的可读性
-
在URI中使用小写字母
-
不要使用文件扩展名
-
不要使用下划线
-
使用查询组件过滤URI集合
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!