【Spring Boot筆記】統一返回結果的格式
阿新 • • 發佈:2022-05-12
為什麼要統一返回結果的格式?
目前我們做的專案大體都會是前後端分離的。為了使資料使用者(包括但不限於前端工程師)能夠更好地處理返回結果,不至於為了處理各式各樣的返回資料格式而抓狂,所以我們需要定義一個統一的標準的返回格式。
標準的返回格式需要包含哪幾部分?
一個標準的返回格式至少要包含3部分:
- status狀態值:本次介面呼叫返回結果的狀態碼
- message訊息:本次介面呼叫的結果描述
- data資料:本次介面呼叫返回的資料
當然也可以按需加入其它擴充套件值。
返回結果狀態碼列舉類
@Getter public enum ResultCode { SUCCESS("200", "成功"), INTERNAL_ERROR("500", "伺服器內部異常"); private final String code; private final String msg; ResultCode(String code, String msg) { this.code = code; this.msg = msg; } }
統一返回物件
@Data public class Result<T> implements Serializable { /** * 狀態碼 */ private String code; /** * 返回結果 */ private T data; /** * 返回訊息 */ private String msg; public static <T> Result<T> success() { Result<T> result = new Result<>(); result.setCode(ResultCode.SUCCESS.getCode()); return result; } public static <T> Result<T> success(T data) { Result<T> result = new Result<>(); result.setData(data); result.setCode(ResultCode.SUCCESS.getCode()); return result; } public static <T> Result<T> fail() { Result<T> result = new Result<>(); result.setCode(ResultCode.INTERNAL_ERROR.getCode()); result.setMsg(ResultCode.INTERNAL_ERROR.getMsg()); return result; } public static <T> Result<T> fail(ResultCode resultCode) { Result<T> result = new Result<>(); result.setCode(resultCode.getCode()); result.setMsg(resultCode.getMsg()); return result; } }