1.封装统一放回值
@Component
public class ResultMap extends HashMap<String, Object> implements Serializable{
public ResultMap() {
}
/**
* @封装结果集
* @param result
* @return
*/
public ResultMap result(Object result) {
this.put("result", result);
return this;
}
/**
* 状态码
* @param code
* @return
*/
public ResultMap statusCode(int statusCode) {
this.put("statusCode", statusCode);
return this;
}
/**
* @提示信息
* @param message
* @return
*/
public ResultMap message(Object message) {
this.put("message", message);
return this;
}
/**
* @权限
* @param isAuthorized
* @return
*/
public ResultMap isAuthorized(Boolean isAuthorized) {
this.put("isAuthorized", isAuthorized);
return this;
}
/**
* @请求是否成功
* @param success
* @return
*/
public ResultMap success(Boolean success) {
this.put("success", success);
return this;
}
}
封装分页查询Bean
public class PageBean<T> implements Serializable{
private Long total;//满足条件的总记录数
private List<T> rows;//所请求的当前页的数据集合
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
}
3.封装PageBean返回类
public class PageVoUtils {
public static <T> PageBean<T> convertTopageVo(PageInfo<T> pageInfo) {
PageBean<T> pagevo = new PageBean<T>();
pagevo.setTotal(pageInfo.getTotal());
pagevo.setRows(pageInfo.getList());
return pagevo;
}
}
4.controller返回
@PostMapping("/selectAllProductSpecification")
public @ResponseBody ResultMap selectAllProductSpecification(
@RequestBody ProductSpecificationDto dto, @RequestBody BaseSearchInputDto input) {
PageInfo<ProductSpecification> pageInfo = this.productSpecificationService.selectAllProductSpecification(dto,
input.getPageNumber(), input.getPageSize());
PageBean<ProductSpecification> convertTopageVo = PageVoUtils.convertTopageVo(pageInfo);
return resultMap.message("查询成功!").result(convertTopageVo).success(true).isAuthorized(true);
}