使用@RequestBody目的是 当前端输入查询信息将json传递给服务器时,服务器再将其封装为bean对象。此时必须使用post请求。
模拟场景:
医院编号:____
医院名称:____
功能需求:现我不知医院编号,我只知医院名称,此时不写医院编号,后端需要进行判空处理,且@RequestBody(声明require=false),不然用户必须同时输入正确输入医院编号和医院名称才能查询到那条信息。
if (!StringUtils.isEmpty(hosname)) {
wrapper.like("hosname", hospitalSetQueryVo.getHosname());
}
/**
* 模糊+条件查询 前端输入的信息以json数据格式 传给服务器将json数据转化为bean对象
* 若使用@RequestBody注解,必使用post请求
* 这里不用配置分页插件配置类?
*
* @param current 当前页
* @param limit 每页数量
* @param hospitalSetQueryVo 前端对象类数据
* @return
*/
@PostMapping("findPageHospSet/{current}/{limit}")
public Result findPageHospSet(@PathVariable("current") long current,
@PathVariable("limit") long limit,
@RequestBody(required = false) HospitalSetQueryVo hospitalSetQueryVo) {
Page<HospitalSet> page = new Page<>(current, limit); // 创建当前对象,传递当前页,每页记录数
QueryWrapper<HospitalSet> wrapper = new QueryWrapper<>(); // 查询构造器 构造条件
String hosname = hospitalSetQueryVo.getHosname();
String hoscode = hospitalSetQueryVo.getHoscode();
if (!StringUtils.isEmpty(hosname)) {
wrapper.like("hosname", hospitalSetQueryVo.getHosname());
}
if (!StringUtils.isEmpty(hoscode)) {
wrapper.eq("hoscode", hospitalSetQueryVo.getHoscode());
}
Page<HospitalSet> pageHospitalSet = hospitalSetService.page(page, wrapper); // mp封装好的page()方法
return Result.ok(pageHospitalSet); // 封装结果集返回固定json数据格式
}