1.4 接口规范
1.4.0 web应用模式
前后端不分离
前后端分离
json : [{'msg_code':10001,'msg':'请求成功'}]
<红楼梦> 作者:曹雪芹 男主:贾宝玉 女主:林黛玉 时间:清代 json {'author':'cao','boy':'jia','girl':'lin','time':'qing'} xml <book> <author>cao</author> <boy>jia</boy> <girl>lin</girl> <time>qing</time> </book>
1.4.1 案例 用户模块对于用户数据的操作
注册
后端角度
传统风格
操作 | URL | 请求类型 | 响应数据 | 状态码 |
---|---|---|---|---|
展示对应的注册页面 | http://www.tp_shop.cn/Home/user/show_reg | get | html页面 | 200 |
用户进行数据填充,然后提交给后端服务器进行数据存储 | http://www.tp_shop.cn/Home/user/handler_reg | post | 无 | 200 |
用户将需要修改的数据提交后端,后端先找到数据,再进行修改 | http://www.tp_shop.cn/Home/user/change_info或者http://www.tp_shop.cn/Home/user/change_info?user_id=1 | post | 200 | |
用户注销信息,后端先找到数据,然后进行物理删除 | http://www.tp_shop.cn/Home/user/delete_info | get | 200 |
restful风格
操作 | url | 请求类型 | 响应数据(各个公司来定) | 状态码 |
---|---|---|---|---|
展示用户注册页面 | http://www.tp_shop.cn/Home/user/ | get | html页面 | 200 |
增加用户数据 | http://www.tp_shop.cn/Home/user/ | post | 无 | 201 |
更新用户数据 | http://www.tp_shop.cn/Home/user/13111111111 | put/patch | 返回用户信息 | 201 |
删除用户数据 | http://www.tp_shop.cn/Home/user/1 | delete | 无 | 204 |
展示全部的用户信息 | http://www.tp_shop.cn/Home/users | get | 分页用户信息 | 200 |
展示某一个用户信息 | http://www.tp_shop.cn/Home/user/1 | get | id为1的这位用户的详细信息 | 200 |
1.4.2 restful架构特点
案例:微博 API - 微博API
每一个URL代表了一个资源
客户端通过http的请求方式,对服务器的资源进行操作
每一个接口之间,传递数据最经常的格式是json
1.4.3 restful请求相关就
版本 :http://shanghui.com/app/1.0/users
路径:见案例
1.资源作为网址,只能有名词,不能有动词,而且所用的名词与数据库表名对应
2.API中的名词,使用复数形式
HTTP动词
get
post
put
delete
patch
等
过滤信息
https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=20&limit=20
类型 | 描述 |
---|---|
limit | 限制返回数据的数量 |
offset=10 | 返回数据的开始位置 |
page=2&per_page=100 | 指定第几页,每一页的数据有多少条 |
sortby=name&order=asc | 指定的是排序的属性和排序方式 |