@RequestBody注解无法将Json数据封装到实体类
·
前几天学了springboot框架,就想找个项目练练手,毕竟学完不练过几天就全忘光了,于是乎... 就各种踩坑啊
需求:实现带条件的分页查找用户
代码如下:
@GetMapping("/pageList/{pageNum}/{pageSize}")
public R pageList(
@ApiParam(name = "pageNum", value = "当前页码", required = true)
@PathVariable("pageNum") Long pageNum,
@ApiParam(name = "pageSize", value = "每页记录条数", required = true)
@PathVariable("pageSize") Long pageSize,
@ApiParam(name = "queryEduTeacher", value = "查询对象")
@RequestBody
UserVO userVo
){
Page<EduTeacher> page = new Page<>(pageNum,pageSize);
teacherService.pageQuery(page,userVo);
List<EduTeacher> records = page.getRecords();
long total = page.getTotal();
return R.ok().data("total",total).data("rows",records);
}
该handler中的 userVo 是自定义的VO对象,用来封装分页条件用的;该参数添加了@RequestBody注解,接收Json类型的数据;
但就是不能成功接收数据,起先是自己对着文档敲,感觉哪都正确,为什么就没法获取携带的Json数据呢?
1、将@RequestBody注解去掉,直接在url路径后边携带条件,成功获取数据,说明我们handler内部没有错误,就是在Json接受参数时出错。
2、然后面向百度好长时间查询,发现使用@RequestBody时,就不能使用@GetMapping(),这样就无法将携带的Json数据封装到VO类中,需要改成@PostMapping()才成功。
小小bug,改了好长时间才弄好,真是流下了菜鸡的眼泪...记录一下,给自己加深印象。
谨记:使用@RequestBody注解时,需要配合@PostMapping才能将Json数据封装到实体类中。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)