1. RESTful风格的后端接口
RESTful(Representational State Transfer)是一种设计风格,用于构建网络应用程序的后端接口。它基于HTTP协议,通过使用不同的HTTP方法(GET、POST、PUT、DELETE等)来对资源进行操作。
2. 开发一个功能的流程
大致流程:查看需求及接口文档--->开发思路整理--->接口开发--->接口测试--->前后端联调
详细流程:
-
需求分析:明确功能的需求和目标,与相关利益相关者(如客户、用户、产品经理等)进行沟通和讨论,确保对功能的理解一致。
-
设计规划:根据需求分析的结果,进行功能的设计规划。包括确定功能的界面设计、数据结构设计、算法设计等。
-
编码实现:根据设计规划,使用所选的编程语言和开发工具进行功能的编码实现。可以采用模块化的方式,将功能拆分为多个子任务,逐个完成。
-
单元测试:对功能的每个模块进行单元测试,确保每个模块的功能正确性和稳定性。可以使用自动化测试工具或编写测试用例进行测试。
-
集成测试:将各个模块进行集成测试,测试功能在整体上的正确性和稳定性。可以模拟真实环境进行测试,检查功能是否符合预期。
-
调试和修复:在测试过程中,如果发现功能存在问题或bug,进行调试和修复。可以使用调试工具和日志记录来定位和解决问题。
-
用户验收测试:将开发完成的功能交付给用户或客户进行验收测试。根据用户的反馈和意见,进行必要的修改和优化。
-
文档编写:编写功能的相关文档,包括用户手册、开发文档、API文档等,以便用户和开发人员理解和使用功能。
-
部署和发布:将功能部署到目标环境中,并进行发布。可以使用自动化部署工具和版本控制系统来简化部署和发布过程。
-
维护和优化:功能发布后,根据用户的反馈和需求变化,进行功能的维护和优化。可以定期进行性能优化、安全性检查和功能扩展等工作。
3.开发分页功能前端至少需要传什么参数过来,后台简化分页开发的插件及用法
查询的页码(page)和每页记录数(pageSize)
PageHelper
(1)pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>
(2)EmpServiceImpl
@Override
public PageBean page(Integer page, Integer pageSize , String name, Short gender, LocalDate begin, LocalDate end) {
// PageHelper实现分页查询
PageHelper.startPage(page, pageSize);
Page<Emp> pages = empMapper.list(name,gender,begin,end);
return new PageBean(pages.getTotal(), pages.getResult());
}
(3)EmpMapper
@Select("select * from emp")
Page<Emp> list();
4.部门新增逻辑
浏览器发送新增部门请求,将部门名称以json数据的形式发送给后端。Controller层处理HTTP请求和响应,使用注解@RequestBody拿到json数据,并调用Service层的方法来处理新增部门的请求,Service层补充基础属性完善数据,调用Mapper层将新增的部门存入到数据库
5.部门删除逻辑
浏览器发送删除部门请求,Controller层通过@PathVariable注解拿到路径上的部门id数据参数,调用Service层方法来处理删除部门请求,Service先调用empMapper层方法删除对应该部门id下的所有员工,再调用deptMapper层方法删除部门,Mapper层对数据库中数据进行删除操作
6.部门查询逻辑
由于是查询所有部门,所以逻辑上比较简单,就是浏览器发送查询部门请求,Controller层接收请求调用Service层,Service层调用Mapper层,Mapper层跟数据库交互,拿到所有部门对象集合,返回到Service层,Service层再讲部门对象集合返回到Controller层,Controller层展示数据给用户
7.员工查询逻辑以及实现分页查询
员工查询和部门查询是一个逻辑,至于实现分页查询的逻辑则是,定义pojo类PageBean里面有总记录数(total)和行数记录(rows)。前端传入参数查询的页码(page)和每页记录数(pageSize),Controller层接收数据可以通过注解@RequestParam(defaultValue = "1")标记使得没有接收到前端数据时使用设定的默认值,然后调用Service层方法将参数传入,Service层通过PageHelper插件实现分页,然后调用Mapper层从数据库里拿取全部员工数据
8.批量员工删除实现
浏览器发送删除请求,Controller层接收请求通过注解@PathVariable拿到路径上要删除的id数据参数封装到集合里。然后调用Service层方法将集合传入,Service层调用Mapper层传入集合参数。Mapper层使用xml实现,在xml文件中书写foreach语句来对数据库中的员工数据进行删除