注意事项:
//注意: 当使用参数@requestBody的时候,只支持post请求,所以只能用 @PostMapping ,当@requestBody里面的可以为空时候,设置required=false,
//注意: StringUtils用org.springframework.util的可以判断StringUtils.isEmpty(Object),用common下面的只能字符串
//注意: 当我们在参数传参时候,尽量用对象封装参数,例如TeacherQuery传参,然后用json格式接收, @RequestBody TeacherQuery teacherQuery,因为传速速度快,解析也快
//注意: @ApiParam(name="current",value = "当前页", required = true,说明current,limit必填
注意使用的几个注解:
rest 风格注解:
@getMapping 查询 ,/// 分页查询 由于参数有对象 @requestBody 所以 用@PostMapping
@postMapping 添加
@putMapping 修改
@deleteMapping 删除
参数注解:@RequestBody,@PathVariable,@requestParam
其中@requestParam注解需要强调下,如果参数是list或者数组
@RequestParam("videoIdList") List
前台需要这样调用,“1,2,3” 默认会转型成list
// 获取用户信息方法
export function getInfo(token) {
return request({
url: '/eduservice/user/info',
method: 'get',
params:{"list":"1,2,3"}
})
}
swagger注解: @api(tags="") @apiOperation @aipParam @apiModelProperty
q
1:controller层查询的写法
@ApiOperation("根据id查询讲师信息")
@GetMapping("findTeacher/{id}")
public R find(@ApiParam(name="id",value = "讲师id",required = true) @PathVariable String id){
EduTeacher byId = eduTeacherService.getById(id);
return R.ok().data("teacher",byId);
}
2::controller层新增方法,(这块新增时候创建时间和修改时间是 默认填充的 @TableField(fill = FieldFill.INSERT_UPDATE)和@TableField(fill = FieldFill.INSERT),配置默认填充插件)
@ApiOperation("新增讲师接口")
@PostMapping("addTeacher")
public R save(@RequestBody EduTeacher eduTeacher){
// 新增的数据不用添加创建时间和修改时间,id也不用加
boolean save = eduTeacherService.save(eduTeacher);
if (save){
return R.ok();
}
return R.error();
}
3:controller层修改的方法,(这块修改时间是默认填充的 @TableField(fill = FieldFill.INSERT_UPDATE),并且配置了乐观锁version,@version,配置乐观锁插件;并且先查询在修改才能更新版本号)
@ApiOperation("修改讲师信息接口")
@PostMapping("updateTeacher")
public R update(@RequestBody EduTeacher eduTeacher){
EduTeacher byId = eduTeacherService.getById(eduTeacher.getId());
eduTeacher.setVersion(byId.getVersion());
// 新增的数据不用添加创建时间和修改时间,id必须加上
boolean b = eduTeacherService.updateById(eduTeacher);
if (b){
return R.ok();
}
return R.error();
}
4:controller层删除的方法,(这个删除是配置的逻辑删除,@TableLogic,在配置中配置了逻辑删除插件)
@ApiOperation("根据id逻辑删除讲师信息")
@DeleteMapping("deleteById/{ids}")
public R deleteById(
@ApiParam(name="ids" ,value = "讲师id",required = true)
@PathVariable String ids){
boolean b = eduTeacherService.removeById(ids);
if(b){
return R.ok();
}
return R.error();
}