主要是在这个地方会出一些问题
问题示例:
@ApiOperation(value = "获取全部课程信息-多条件")
@PostMapping("/getAllCourse/{page}/{limit}")
public Result getAllCourse(
@ApiParam(name = "page",value = "页码",required = true)
@PathVariable("page")Long page,
@ApiParam(name = "limit",value = "分页大小",required = true)
@PathVariable("limit")Long limit,
@ApiParam(name="courseQueryVo",value = "课程查询信息",required = false)
@RequestBody(required = false)CourseQueryVo courseQueryVo
){
System.out.println(courseQueryVo);
Page<EduCourse> pageParam = new Page<>(page, limit);
// 在service的方法中对pageParam进行处理,不需要放回就可以得到新的pageParam
eduCourseService.pageQuery(pageParam,courseQueryVo);
return Result.success().data("list",pageParam);
}
去发送请求测试
情况:
1、不发requestBody部分
控制接收requestBody
可知:
即使不传requestBody过来,springboot也会帮助我们创建好这个courseQueryVo对象
2、发送的requestBody和我们定义的Vo不完全对应
控制台接收requestBody
可见springboot会帮我们创建好courseQueryVo对象,然后把得到的对象中的onSubjectid赋值给该对象中的对应参数
3、传送了错误的信息对象
控制台接收requestBody
可见springboot会帮我们创建好courseQueryVo对象,然后根据该对象中的属性去得到的对象找到其中的onSubjectid赋值给该对象中的对应参数
4、传入空值
控制台接收requestBody
可见springboot是不会自动识别空值的,需要我们自己去判断是否为空值