下面在模块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如下。成功.

alt

在测试removeTeacher时发现一个奇怪的现象:删除已经删除过的数据,并不存在的数据,甚至id格式错误的数据都会返回success。 alt 截取日志信息如下。

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