SpringBoot案例

[day11 SpringBoot案例]

1.什么是RESTful风格的后端接口?

RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。 这种风格的理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。

2.开发一个功能需要经历哪些流程?

查询页面原型明确需求

阅读接口文档(已提供)

思路分析

接口开发:就是开发后台的业务功能,一个业务功能,我们称为一个接口。

接口测试:功能开发完毕后,先通过Postman进行接口测试,测试通过后,和前端进行联调测试。 前后端联调测试:和前端开发人员开发好的前端工程一起测试。

3.开发分页功能前端至少需要传什么参数过来,后台简化分页开发的插件叫什么?怎么用?

当前页码 page

每页展示记录数 pageSize

插件:PageHelper

如果使用了PageHelper分页插件进行分页,那我们是无需再Mapper这层来手动分页的。 Mapper这一层,我们进行正常的列表查询即可。我们需要在Service层中,调用Mapper的方法之前设置分页参数,在调用Mapper方法执行查询之后,解析分页结果,并将结果封装到PageBean对象中,返回。

4.部门新增逻辑?

查看页面原型可以看到:点击 "新增部门" 按钮,弹出新增部门对话框,输入部门名称,点击 "保存" ,将部门信息保存到数据库。

然后我们就可以查看资料中提供的,新增部门的接口文档

请求路径:/depts

请求方式:POST

接口描述:该接口用于添加部门数据

功能开发完成后,我们就可以启动项目,然后打开postman。发起POST请求,访问 :http://localhost:8080/depts,然后在请求体中传递json格式的参数。

在方法上面加的注解中指定的请求路径中 ,都包含了 /depts ,重复了。我们可以考虑将其抽取到类上,可以在类上加一个注解@RequestMapping,然后声明属性 value。

那如果类上添加了@RequestMapping注解,在方法上也添加了@RequestMapping注解(或者其衍生注解 @GetMapping、@PostMapping、@DeleteMapping、@PutMapping),此时在进行请求访问时,完整的请求路径应该是 类上的@RequestMapping的value属性 + 方法上的@RequestMapping的value属性。

5.部门删除逻辑?

然后我们就可以查看资料中提供的,删除部门的接口文档。

请求路径:/depts/{id}

请求方式:DELETE

接口描述:该接口用于根据ID删除部门数据

点击部门列表后面操作栏的 "删除" 按钮,就可以删除该部门信息。 此时,前端只需要给服务端传递一个ID参数就可以了。 我们从接口文档中也可以看得出来。

 

功能开发完成后,我们就可以启动项目,然后打开postman。发起DELETE请求,访问 :http://localhost:8080/depts/5

最后进行前后端联调

6.部门查询逻辑?

通过页面原型以及需求描述,我们可以看到,部门查询,是不需要考虑分页操作的。

然后我们就可以查看资料中提供的,查询部门列表的接口文档。

请求路径:/depts

请求方式:GET

接口描述:该接口用于部门列表数据查询

功能开发完成后,我们就可以启动项目,然后打开postman。发起GET请求,访问 :http://localhost:8080/depts 

最后进行前后端联调

导入前端项目,启动

在vscode中导入资料中提供好的前端工程,然后点击 npm 脚本运行。

然后访问

7.员工查询逻辑?怎么实现分页查询的?

通过提供的页面原型及需求可以看出,由于员工数据比较多,在展示的时候,需要进行分页展示。

分页查询功能时候比较复杂的,所以我们要先分析清楚以下两个问题:

前端在请求服务端时,传递的参数:

  • 当前页码 page
  • 每页展示记录数 pageSize

后端需要响应什么数据给前端:

上面的页面原型是分页查询页面展示的效果,从上面我们可以看出需要响应以下两份数据

当前页需要展示的数据。我们在后端一般会存储到 List 集合中

总共记录数。在上图页面中需要展示总的记录数,所以这部分数据也需要。总的页码 elementUI 的分页组件会自动计算,我们不需要关心。

后端需要响应总记录数当前页的数据 两部分数据给前端,所以在 EmpMapper  接口中需要定义两个方法:

page() :查询当前页的数据的方法

count() :查询总记录的方法

功能开发完成后,我们就可以启动项目,然后打开postman。发起GET请求,访问 :http://localhost:8080/emps?page=1&pageSize=5 

8.员工删除怎么实现?

查看页面原型:当我们勾选列表前面的复选框,然后点击 "批量删除" 按钮,就可以将这一批次的员工信息删除掉了

然后我们就可以查看资料中提供的,删除员工的接口文档。

请求路径:/emps/{ids}

请求方式:DELETE

接口描述:该接口用于批量删除员工的数据信息

请求样例:/depts/1,2,3

从接口文档中,我们可以看出在路径参数中,传递过来了多个id,在springboot中,我们可以将这组id值封装到一个集合中,然后在Mybatis中,通过动态SQL来完成批量删除操作。

功能开发完成后,我们就可以启动项目,然后打开postman。发起DELETE请求,访问 :http://localhost:8080/emps/15,16,17 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值