下面在模块edu_service中使用统一的返回结果。
(1) 在service的pom文件引入依赖
<dependency>
<groupId>com.wangzhou</groupId>
<artifactId>common_utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
(2)将controller中的返回结果替换为R,注意导包R时不要导错,要导入自己项目的R,而不是baomidou的。
@ApiOperation("讲师列表")
@GetMapping("findAll")
public R findAllTeacher() {
List<EduTeacher> list = eduTeacherService.list(null);
return R.ok().data("items", list);
}
@ApiOperation("删除讲师")
@DeleteMapping("/deleteTeacherById/{id}")
public R removeTeacher(@ApiParam(name = "id", value = "讲师id", required = true) @PathVariable String id) {
boolean flag= eduTeacherService.removeById(id);
if(flag) {
return R.ok();
} else {
return R.error();
}
}
启动项目,访问http://localhost:8001/swagger-ui.html。
findAll的reponse body如下。成功.
在测试removeTeacher时发现一个奇怪的现象:删除已经删除过的数据,并不存在的数据,甚至id格式错误的数据都会返回success。 截取日志信息如下。
Execute SQL:
UPDATE
edu_teacher
SET
is_deleted=1
WHERE
id='p'
AND is_deleted=0
根据源码,发现原来是mybatis plus的bug,此bug在3.3.0已经修复。参考博客https://blog.csdn.net/Evian_Tian/article/details/103919089