后端:提供数据,处理业务逻辑,Server-side MVC架构,代码跑到服务器上
前端:接收数据,返回数据,处理渲染逻辑,Client-side MV*架构,代码跑到服务器上
后端提供给前端的数据以json的形式进行传递
前段以Ajax的形式接受数据及返回数据
接口规范:
接口返回数据即显示:前端仅做渲染逻辑处理;
渲染逻辑禁止跨多个接口调用;
前端关注交互、渲染逻辑,尽量避免业务逻辑处理的出现;
请求响应传输数据格式:JSON,JSON数据尽量简单轻量,避免多级JSON的出现;
请求基本格式:GET请求、POST请求必须包含key为body的入参,所有请求数据包装为JSON格式,并存放到入参body中,示例如下:
GET请求:
xxx/login?body={"username":"admin","password":"123456","captcha":"scfd","rememberMe":1}
POST请求:
响应基本格式:
{ code: 200, data: { message: "success" }}
code : 请求处理状态
200: 请求处理成功
500: 请求处理失败
401: 请求未认证,跳转登录页
406: 请求未授权,跳转未授权提示页
data.message: 请求处理消息
code=200 且 data.message=“success”: 请求处理成功
code=200 且 data.message!=“success”: 请求处理成功, 普通消息提示:message内容
code=500: 请求处理失败,警告消息提示:message内容
响应实体格式:
{ code: 200, data: { message: "success", entity: { id: 1, name: "XXX", code: "XXX" } }}
data.entity: 响应返回的实体数据
响应列表格式:data.list: 响应返回的列表数据
响应分页格式:
{ code: 200, data: { recordCount: 2, message: "success", totalCount: 2, pageNo: 1, pageSize: 10, list: [ { id: 1, name: "XXX", code: "H001" }, { id: 2, name: "XXX", code: "H001" } ], totalPage: 1 }}
data.recordCount: 当前页记录数
data.totalCount: 总记录数
data.pageNo: 当前页码
data.pageSize: 每页大小
data.totalPage: 总页数