02 統一結果封裝
阿新 • • 發佈:2020-08-13
統一結果封裝
這裡我們用到了一個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資料,外掛地址。