Rest API

158 阅读1分钟

1.Rest 

Rest,Representational State Transfer的缩写,资源(数据)的表示(json、xml)+状态转化(http verb动作)

使用URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

用来规范客户端如何在HTTP 层与 API 提供方进行数据交互 。

实现过程

1.资源指定

URL中只使用名词(一般用复数)来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:

api.qc.com/v1/newsfeed: 获取某人的新鲜;

api.qc.com/v1/friends: 获取某人的好友列表;

api.qc.com/v1/profile: 获取某人的详细信息;

2.URL嵌套

按照资源的逻辑层级,对 URL 进行嵌套,比如一个用户属于某个团队,而这个团队也是众多团队之一;那么获取这个用户的接口可能是这样:

GET /api/teams/123/members/234 表示获取 id 为123 的小组下,id 为234 的成员信息。

/api/teams (对应团队列表)

/api/teams/123 (对应 ID 为 123 的团队)

/api/teams/123/members (对应 ID 为123 的团队下的成员列表)

/api/teams/123/members/456 (对应 ID 为123 的团队下 ID 为 456 的成员)

3.Verb

用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:

GET:用来获取资源

POST:用来新建资源(也可以用于更新资源)

PUT:用来新建或更新资源,将某个东西放到服务器上,全部更新

DELETE:api.qc.com/v1/friends:…

POST:api.qc.com/v1/friends: 添加好友

2.get请求的query和params

3.json-server

Get a full fake REST API with zero coding in less than 30 seconds (seriously)