SpringBoot接口返回結果封裝方法實例詳解

rest接口會返回各種各樣的數據,如果對接口的格式不加約束,很容易造成混亂。

在實際項目中,一般會把結果放在一個封裝類中,封裝類中包含http狀態值,狀態消息,以及實際的數據。這裡主要記錄兩種方式:(效果如下)

 

1、采用Map對象作為返回對象。

/**
 * Http請求接口結果封裝方法
 *
 * @param object  數據對象
 * @param msgSuccess 提示信息(請求成功)
 * @param msgFailed 提示信息(請求失敗)
 * @param isOperate 是否操作類型(增、刪、改)
 * @return
 */
public static Map<String, Object> getResponse(Object object, String msgSuccess, String msgFailed, boolean isOperate) {
    Map<String, Object> data = new HashMap<>();
    if (object != null) {
        data.put("success", true);
        data.put("msg", msgSuccess);
        data.put("result", 1);
    } else {
        data.put("success", false);
        data.put("msg", msgFailed);
        data.put("result", 0);
    }
    if (!isOperate) {
        data.put("data", object);
    } else {
        data.put("data", null);
    }
    return data;
}

2、根據不同類型結果,調用不同的封裝方法。

/**
 * 格式化請求結果(List類型)
 *
 * @param <T>
 * @param objectList 對象列表
 * @param msgSuccess 信息提示(請求成功)
 * @param msgFailed 信息提示(請求失敗)
 * @return
 */
@SuppressWarnings("unchecked")
public static <T> Tb_Response<T> getResponse(List<T> objectList, String msgSuccess, String msgFailed) {
    Tb_Response<T> tb_Response = new Tb_Response<T>();
    if (objectList.size() > 0) {
        tb_Response.setSuccess(true);
        tb_Response.setMsg(msgSuccess);
        tb_Response.setResult(1);
        tb_Response.setData((List<T>) objectList);
    } else {
        tb_Response.setSuccess(false);
        tb_Response.setMsg(msgFailed);
        tb_Response.setResult(0);
    }
    return (Tb_Response<T>) tb_Response;
}

/**
 * 格式化請求結果(Object類型)
 *
 * @param <T>
 * @param object 對象信息
 * @param msgSuccess 信息提示(請求成功)
 * @param msgFailed 信息提示(請求失敗)
 * @return
 */
@SuppressWarnings("unchecked")
public static <T> Tb_ResponseData<T> getResponseData(T object, String msgSuccess, String msgFailed) {
    Tb_ResponseData<T> tb_ResponseData = new Tb_ResponseData<T>();
    if (object != null) {
        tb_ResponseData.setSuccess(true);
        tb_ResponseData.setMsg(msgSuccess);
        tb_ResponseData.setResult(1);
        tb_ResponseData.setData((T) object);
    } else {
        tb_ResponseData.setSuccess(false);
        tb_ResponseData.setMsg(msgFailed);
        tb_ResponseData.setResult(0);
        tb_ResponseData.setData(null);
    }
    return (Tb_ResponseData<T>) tb_ResponseData;
}

/**
 * 格式化請求結果(Boolean類型)
 *
 * @param result 請求結果
 * @param msgSuccess 信息提示(請求成功)
 * @param msgFailed 信息提示(請求失敗)
 * @return
 */
public static Tb_ResponseData<Boolean> getResponseData(boolean result, String msgSuccess, String msgFailed) {
    Tb_ResponseData<Boolean> tb_ResponseData = new Tb_ResponseData<Boolean>();
    if (result) {
        tb_ResponseData.setSuccess(true);
        tb_ResponseData.setMsg(msgSuccess);
        tb_ResponseData.setResult(1);
    } else {
        tb_ResponseData.setSuccess(false);
        tb_ResponseData.setMsg(msgFailed);
        tb_ResponseData.setResult(0);
    }
    tb_ResponseData.setData(null);
    return tb_ResponseData;
}

到此這篇關於SpringBoot接口返回結果封裝方法的文章就介紹到這瞭,更多相關SpringBoot接口封裝內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: