返回結果集
阿新 • • 發佈:2018-12-21
最近做的幾個專案都是前後端分離。所以返回結果集基本都會由一個結果集包裝一下,返回給前臺。在做一個專案時候,尤其是前後臺分離的專案,一個統一標準的結果集更利於和前天開發人員的交流。當然前後天不分離的醒目也可以使用一個統一標準的結果集,有利於專案的健壯性。
下面是程式碼。
------------------------------------------------------------------------------------------
/** * http請求返回最外層物件 * @version 1.0 */ public class Result<T> { /** * 返回碼 */ private int code; /** * 提示資訊 */ private String msg; /** * 具體內容(返回的資料) */ private T data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } }
--------------------------------------------------------------------------------------------------
/** * 返回結果的資料結構封裝 * @version 1.0 */ public class ResultUtil { /** * 返回成功結果及資料 * @param resultEnum * @param object * @return */ public static Result<Object> success(ResultEnum resultEnum, Object object){ Result<Object> result = new Result<>(); result.setCode(resultEnum.getCode()); result.setMsg(resultEnum.getMsg()); result.setData(object); return result; } /** * 返回成功結果 * @param resultEnum * @return */ public static Result<Object> success(ResultEnum resultEnum){ return success(resultEnum, null); } /** * 返回自定義成功結果 * @param code * @param msg * @return */ public static Result<Object> success(int code, String msg,Object object){ Result<Object> result = new Result<>(); result.setCode(code); result.setMsg(msg); result.setData(object); return result; } /** * 返回自定義異常結果 * @param code * @param msg * @return */ public static Result<Object> error(int code, String msg){ Result<Object> result = new Result<>(); result.setCode(code); result.setMsg(msg); return result; } /** * 返回失敗結果 * @param resultEnum * @return */ public static Result<Object> error(ResultEnum resultEnum){ Result<Object> result = new Result<>(); result.setCode(resultEnum.getCode()); result.setMsg(resultEnum.getMsg()); return result; } }
----------------------------------------------------------------------------------------------------
/** * 結果返回列舉 */ public enum ResultEnum { // 錯誤碼 錯誤資訊 UNKNOW_ERROR(-1, "系統錯誤"), FAIL(0, "失敗"), SUCCESS(200, "成功"), private int code; private String msg; ResultEnum(int code, String msg) { this.code = code; this.msg = msg; } public int getCode() { return code; } public String getMsg() { return msg; } }
--------------------------------------------------------------------
運用,我大概舉一個小例子
@GetMapping("/xxxx") public Result<Object> xxxx() { return ResultUtil.error(ResultEnum.FAIL);//返回失敗的結果 return ResultUtil.success(ResultEnum.SUCCESS, data);//返回成功的結果,data為需要返回的資料 }