API接口數(shù)據(jù)統(tǒng)一格式返回

新建狀態(tài)碼枚舉類

一般都有code(狀態(tài)碼)和message(提示信息)這兩個屬性

public enum ResultCode {
    //成功
    SUCCESS(1,"成功"),
    //參數(shù)錯誤100-199
    PARAM_IS_INVALID(101,"參數(shù)無效"),
    PARAM_IS_BLANK(102,"參數(shù)為空"),
    PARAM_TYPE_BIND_ERROR(103,"參數(shù)類型錯誤"),
    PARAM_NOT_COMPLETE(104,"參數(shù)缺失"),
    //用戶錯誤200-299
    USER_NOT_LOGGED_IN(201,"用戶未登錄,訪問的路徑需要驗證,請登錄"),
    USER_LOGIN_ERROR(202,"賬號不存在或密碼錯誤"),
    USER_ACCOUNT_FORBIDDEN(203,"賬號已被禁用"),
    USER_NOT_EXIST(204,"用戶不存在"),
    USER_HAS_EXISTED(205,"用戶已存在");
    
    private Integer code;
    
    private String message;
    
    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    
    public Integer code() {
        return this.code;
    }

    public String message() {
        return this.message;
    }
    
}

新建一個返回體類

import java.io.Serializable;

public class Result implements Serializable{
    
    private Integer code;
    
    private String message;

    private Object data;

    public Result() {
    }

    public Result(ResultCode resultCode, Object data) {
        this.code = resultCode.code();
        this.message = resultCode.message();
        this.data = data;
    }
    
    public static Result success(){
        Result result = new Result();
        result.setResultCode(ResultCode.SUCCESS);
        return result;
    }
    
    private void setResultCode(ResultCode resultCode) {
        this.code = resultCode.code();
        this.message = resultCode.message();
    }

    public static Result success(Object data){
        Result result = new Result();
        result.setResultCode(ResultCode.SUCCESS);
        result.setData(data);
        return result;
    }
    
    public static Result failure(ResultCode resultCode){
        Result result = new Result();
        result.setResultCode(resultCode);
        return result;
    }
    
    public static Result failure(ResultCode resultCode, Object data){
        Result result = new Result();
        result.setResultCode(resultCode);
        result.setData(data);
        return result;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

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

控制層

import java.util.HashMap;
import java.util.Map;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserControll {

    @GetMapping("user")
    public Result getUser(){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "劉亦菲");
        map.put("age", 16);
//      Result result = new Result(ResultCode.SUCCESS, map);
//      return result;
        return Result.success(map);
    }
    
}

效果圖


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容