表现层数据封装
前端接收数据格式:
- 创建结果模型类 ,封装数据到data属性中
- 封装操作结果到code属性中
- 封装特殊消息到message(msg)属性中
1、设置统一数据返回结果类
Result类中的字段并不是固定的,可以根据需要自行增减
提供若干个构造方法,方便操作
public class Result {
private Object data;
private Integer code;
private String msg;
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Result() {
}
public Result(Object data, Integer code) {
this.data = data;
this.code = code;
}
public Result(Object data, Integer code, String msg) {
this.data = data;
this.code = code;
this.msg = msg;
}
}
2、定义Code类
public class Code {
public static final Integer SAVE_OK=20011;
public static final Integer DELETE_OK=20021;
public static final Integer UPDATE_OK=20031;
public static final Integer GET_OK=20041;
public static final Integer SAVE_ERR=20010;
public static final Integer DELETE_ERR=20020;
public static final Integer UPDATE_ERR=20030;
public static final Integer GET_ERR=20040;
}
3、调整表现层方法
统一返回result类
@GetMapping
public Result findALL() {
var data = userService.findALL();
boolean flag = false;
if (data != null && data.size() > 0) {
flag = true;
}
var code = flag ? Code.GET_OK : Code.GET_ERR;
var msg = flag ? "数据查询成功" : "数据查询失败";
Result result = new Result(data, code, msg);
return result;
}
@GetMapping("/{id}")
public Result findById(@PathVariable int id) {
var data = userService.findById(id);
boolean flag = false;
if (data != null) {
flag = true;
}
var code = flag ? Code.GET_OK : Code.GET_ERR;
var msg = flag ? "数据查询成功" : "数据查询失败";
Result result = new Result(data, code, msg);
return result;
}
@PostMapping
public Result save(@RequestBody User user) {
var data = userService.save(user);
boolean flag = false;
if (data > 0) {
flag = true;
}
var code = flag ? Code.SAVE_OK : Code.SAVE_ERR;
var msg = flag ? "保存成功" : "保存失败";
Result result = new Result(data, code, msg);
return result;
}