今天跟着视频做项目遇到一个问题,实在解决不了了,求,使用post传入数据,但通过传入JSON数据在swagger中测试时出现一些问题,为什么进行模糊查询时(响应状态都是success),但有情况会显示出模糊查询的数据,而有的情况不能。
//这是主体业务方法
//4 条件查询带分页的方法
@ApiOperation(value = "实现条件的分页查询")
@PostMapping("pageTeacherCondition/{current}/{limit}")
public R pageTeacherCondition(
@ApiParam(name = "current",value = "当前页码",required = true)
@PathVariable long current,
@ApiParam(name = "limit",value = "每页显示记录数",required = true)
@PathVariable long limit,
@ApiParam(name = "teacherQuery",value = "条件(模糊)查询实例",required = false)
@RequestBody(required = false) TeacherQuery teacherQuery){
//创建page对象
Page<EduTeacher> pageTeacher=new Page<>(current,limit);
//构建条件
QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
//多条件组合查询
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
//判断条件值是否为空,如果不为空拼接条件
if (StringUtils.hasText(name)){
//构建条件
wrapper.like("name", name);
}
if (StringUtils.hasText(String.valueOf(level))){
wrapper.eq("level", level);
}
if (StringUtils.hasText(begin)){
wrapper.ge("gmt_create", begin);
}
if (StringUtils.hasText(end)){
wrapper.le("gmt_modified", end);
}
//调用方法实现条件查询分页
teacherService.page(pageTeacher, wrapper);
long total = pageTeacher.getTotal();
List<EduTeacher> records = pageTeacher.getRecords();
return R.ok().data("total",total).data("rows", records);
}
//这是主要的实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduTeacher对象", description="讲师")
public class EduTeacher implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "讲师ID")
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@ApiModelProperty(value = "讲师姓名")
private String name;
@ApiModelProperty(value = "讲师简介")
private String intro;
@ApiModelProperty(value = "讲师资历,一句话说明讲师")
private String career;
@ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
private Integer level;
@ApiModelProperty(value = "讲师头像")
private String avatar;
@ApiModelProperty(value = "排序")
private Integer sort;
@ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
@TableLogic //
private Boolean isDeleted;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
}
//vo实体类,也就是要输入的模糊查询内容
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TeacherQuery {
@ApiModelProperty(value ="教师名称,模糊查询")
private String name;
@ApiModelProperty(value = "头衔1 高级讲师 2 首席讲师")
private Integer level;
@ApiModelProperty(value = "查询开始时间",example = "2019-01-01 10:10:10")
private String begin; //string类型,前端传过来的数据无需进行类型转换
@ApiModelProperty(value = "查询结束时间",example = "2019-12-01 10:10:10")
private String end;
}
先看一下成功的情况,数据库内容先不展示了,也就是只模糊查询level 或者level和name进行组合模糊查询
看一下获取不到数据的情况,就是只进行分页查询,或者只进行name的分页查询
控制台都是成功的就是没有数据,咋回事啊