超详细springboot企业中使用开发第一天
前后端分离开发模式
什么是前后端分离?
前端指的就是 以html为基础的一众浏览器页面技术,负责显示数据,提供一些供给用户使用的功能,像是提交表单等。
后端指的就是对数据接收,处理,储存的技术,并基于此进行扩展的其他一众技术,比如:java、scala
那:
我们如何前后端分离开发?
职责
- 前后端仅仅通过异步接口(AJAX/JSONP)来编程
- 前后端都各自有自己的开发流程,构建工具,测试集合
- 关注点分离,前后端变得相对独立并解耦合
后端 | 前端 |
---|---|
提供数据 | 接收数据,展示数据 |
处理业务逻辑 | 处理渲染逻辑 |
MVC架构 | MVVM架构 |
代码跑在服务器上 | 代码跑在浏览器上 |
流程
- 后端编写和维护接口文档,在 API 变化时更新接口文档
- 后端根据接口文档进行接口开发
- 前端根据接口文档进行开发 + Mock平台
- 开发完成后联调和提交测试
推荐接口规范工具:postman
原则
- 接口返回数据即显示:前端仅做渲染逻辑处理;
- 渲染逻辑禁止跨多个接口调用;
- 前端关注交互、渲染逻辑,尽量避免业务逻辑处理的出现;
- 请求响应传输数据格式:JSON,JSON数据尽量简单轻量,避免多级JSON的出现;
数据格式
请求格式–统一的数据请求格式
get http://localhost:8080/user/1 http://localhost:8080/user?id=1
post请求 http://localhost:8080/user
put请求 http://localhost:8080/user
delete请求 http://localhost:8080/user/1
响应格式–统一的返回结果
基本格式
1
2
3
4{
"code": 20000,
"msg": "登录成功/修改失败/删除成功"
}code : 请求处理状态(可以根据业务自行添加)
- 20000 成功
- 20001 失败
msg:请求处理消息(可以根据业务自行添加)
响应实体格式
1
2
3
4
5
6
7
8
9
10
11{
"code": 20000,
"msg": "success",
"data": [
"user": {
"id": 1,
"name": "XXX",
"phone": "XXX"
}
]
}响应列表格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23{
"code": 20000,
"msg": "success",
"data": {
"list":[
{
"id": 1,
"name": "XXX",
"code": "XXX"
},
{
"id": 2,
"name": "XXX",
"code": "XXX"
},
{
"id": 3,
"name": "XXX",
"code": "XXX"
}
]
}
}响应分页格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27{
"code": 200,
"msg":"success",
"data": {
"totalCount": 2,
"totalPage": 1
"pageNo": 1,
"pageSize": 10,
"list": [
{
"id": 1,
"name": "XXX",
"code": "H001"
},
{
"id": 1,
"name": "XXX",
"code": "H001"
},
{
"id": 1,
"name": "XXX",
"code": "H001"
}
],
}
}- data.totalCount: 总记录数
- data.pageNo: 当前页码
- data.pageSize: 每页大小
- data.totalPage: 总页数
JAVA定义统一返回结果
Result
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ls!
评论