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)