Spring Boot的通用返回類Result

先構建一個格式確定下來的Result類

public class Result<T> {
    private Integer code;
    private String msg;
    private T data;

    public Result() {
        super();
    }

    public Result(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        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 T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Result{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

 然後構建一個常用的枚舉類,內容可以根據項目自定義

public enum ResultEnum {
    //這裏是可以自己定義的,方便與前端交互即可
    UNKNOWN_ERROR(-1,"未知錯誤"),
    SUCCESS(10000,"成功"),
    USER_NOT_EXIST(1,"用戶不存在"),
    USER_IS_EXISTS(2,"用戶已存在"),
    DATA_IS_NULL(3,"數據爲空"),
    ;
    private Integer code;
    private String msg;

    ResultEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}

然後就是寫一個返回的工具類ResultUtil

public class ResultUtil {

    /**成功且帶數據**/
    public static Result success(Object object){
        Result result = new Result();
        result.setCode(ResultEnum.SUCCESS.getCode());
        result.setMsg(ResultEnum.SUCCESS.getMsg());
        result.setData(object);
        return result;
    }
    /**成功但不帶數據**/
    public static Result success(){

        return success(null);
    }
    /**失敗**/
    public static Result error(Integer code,String msg){
        Result result = new Result();
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
}

最後就是應用了,在Controller裏邊調用ResultUtil就可以了

@GetMapping("/test")
    @ResponseBody
    public Result test() throws Exception{
        String str = "程序猿最帥";
        return ResultUtil.success(str);
    }

然後利用Postman測試我們的返回結果

程序猿最帥就這樣輸出成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章