02 统一结果封装
统一结果封装
这里我们用到了一个Result的类,这个用于我们的异步统一返回的结果封装。一般来说,结果里面有几个要素必要的
- 是否成功,可用code表示(如0表示成功,-1表示异常)
- 结果消息
- 结果数据
所以可得到封装如下:
- com.gychen.common.lang.Result
- (在这里@Data注解不能生成set和get方法,原因是IDEA里没有下载Lombok插件,去setting->Plugins里搜索install->restart IDEA)
@Data
public class Result implements Serializable {
private String code; // 返回0是正常,非0是异常
private String msg;
private Object data;
public static Result succ(Object data) {
Result m = new Result();
m.setCode("0");
m.setData(data);
m.setMsg("操作成功");
return m;
}
public static Result succ(String mess, Object data) {
Result m = new Result();
m.setCode("0");
m.setData(data);
m.setMsg(mess);
return m;
}
public static Result succ(String code, String msg, Object data) {
Result m = new Result();
m.setCode(code);
m.setMsg(msg);
m.setData(data);
return m;
}
public static Result fail(String mess) {
Result m = new Result();
m.setCode("-1");
m.setData(null);
m.setMsg(mess);
return m;
}
public static Result fail(String mess, Object data) {
Result m = new Result();
m.setCode("-1");
m.setData(data);
m.setMsg(mess);
return m;
}
public static Result fail(String code, String msg, Object data) {
Result m = new Result();
m.setCode(code);
m.setMsg(msg);
m.setData(data);
return m;
}
}
测试封装
-
在UserController里写测试
@RestController @RequestMapping("/user") public class UserController { @Autowired UserService userService; @GetMapping("/index") public Result index(){ User user = userService.getById(1L); return Result.succ("index返回成功",user); } }
-
然后run一下
-
这里可以用一个Json的插件浏览网页的json数据,插件地址。