1.前后端分离
前后端分离开发模式是目前互联网公司比较流行的开发模式,指的是:项目基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端(后端),通常是多人协作开发。
对于后端java工程师:
把精力系统设计、数据库表设计、业务逻辑处理、性能优化等。
对于前端工程师:
把精力放页面编写、样式、动画效果、浏览器兼容性等
2. 前后端开发流程
1,需求分析
前后端:梳理用户的需求,分析业务流程
2,接口定义
前后端:根据需求进行分析,由后端定义出简版接口文档
3,正式编码
后端:依据接口文档进行服务端接口开发,使用swagger生成页面格式的接口文档
前端:根据用户需求开发操作界面,并根据页面接口文档制作mock数据,进行测试
4,接口联调
前端调用后端接口进行,出现接口问题由后端解决,前端调试接口直到接口全部调通没有问题
3. 后端(服务端)接口开发步骤
准备工作-接口说明文档:分析需求后定义好API接口说明文档,包括路径、参数、响应等信息
定义基础类:在业务模块中定义需求中对应的domain类和vo类
定义Controller类:在admin模块中按接口文档要求定义Controller类和接口,接口内暂时返回null
定义Mapper类:在业务模块中定义业务层需要用到的数据层Mapper类
定义Service类:在业务模块中定义业务层的Service接口类和实现类,并实现业务逻辑
补全Controller接口:在admin模块中Controller的接口内补全service的简单调用
接口测试:启动服务,通过接口测试工具swagger/knife4j/postman/apipost/apifox进行接口测试
4. RestFul风格API
REST,即Representational State Transfer的缩写。直接翻译的意思是"表现层状态转化"。 它是一种互联网应用程序的API设计理念:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。
HTTP动词 | URL | 含义 |
GET | http://localhost:8080/channel/1 | 查询ID为1的频道 |
POST | http://localhost:8080/channel | 新增频道 |
PUT | http://localhost:8080/channel/1 | 修改ID为1的频道 |
DELETE | http://localhost:8080/channel/1 | 删除ID为1的频道 |
5. 工程编码规范
- 包名规范
•包名定义按照统一格式:com.itheima.模块名
•在模块名下新建controller、service、mapper - Controller规范
•请求参数:
普通请求参数使用DTO类型
分页请求参数定义DTO类继承PageRequestDto
•响应结果:统一响应ResponseResult类型 - 类规范
•三层类:类名称需与业务有关
•三层类:单一职责原则
6. 搭建工程结构
- 技术选型:SpringBoot+Spring+SpringMVC+JDBCTemplate
- 操作步骤:
- IDEA新建Maven工程
- 依赖:配置Maven依赖坐标
- 配置:配置数据源信息
- 代码:启动类、基础类、包结构
- 校验:启动查看日志
7. 开发接口
7.1 ------ 新增频道 ------
7.1.1 接口描述
- 请求路径:/channel/add
- 请求方式:POST
- body参数:body -> json
- 响应:统一JSON
7.1.2 接口实现:
- controller
- service
7.2 ------修改频道 ------
7.2.1 接口描述
- 请求路径:/channel/update/{id}
- 请求方式:PUT
- body参数: json
- 响应:统一JSON
7.2.2 接口实现:
- controller
- service
7.3 ------删除频道 ------
7.3.1 接口描述
- 请求路径:/channel/delete/{id}
- 请求方式:DELETE
- body参数:无
- 响应:统一JSON
7.3.2 接口实现:
- controller
- service
7.4 ------查询单个频道 ------
7.4.1 接口描述
- 请求路径:/channel/{id}
- 请求方式:GET
- body参数:无
- 响应:统一JSON
7.4.2 接口实现:
- controller
- service
7.5 ------查询全部频道 ------
7.5.1 接口描述
- 请求路径:/channel/list
- 请求方式:GET
- body数据:无
- 响应:统一JSON
7.5.2 接口实现:
- controller
- service