溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot接口返回結(jié)果封裝方法有哪些

發(fā)布時(shí)間:2021-09-24 11:31:21 來(lái)源:億速云 閱讀:194 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下SpringBoot接口返回結(jié)果封裝方法有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

rest接口會(huì)返回各種各樣的數(shù)據(jù),如果對(duì)接口的格式不加約束,很容易造成混亂。

在實(shí)際項(xiàng)目中,一般會(huì)把結(jié)果放在一個(gè)封裝類中,封裝類中包含http狀態(tài)值,狀態(tài)消息,以及實(shí)際的數(shù)據(jù)。這里主要記錄兩種方式:(效果如下)

 SpringBoot接口返回結(jié)果封裝方法有哪些SpringBoot接口返回結(jié)果封裝方法有哪些

SpringBoot接口返回結(jié)果封裝方法有哪些SpringBoot接口返回結(jié)果封裝方法有哪些

1、采用Map對(duì)象作為返回對(duì)象。

/**
 * Http請(qǐng)求接口結(jié)果封裝方法
 *
 * @param object  數(shù)據(jù)對(duì)象
 * @param msgSuccess 提示信息(請(qǐng)求成功)
 * @param msgFailed 提示信息(請(qǐng)求失?。?
 * @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、根據(jù)不同類型結(jié)果,調(diào)用不同的封裝方法。

/**
 * 格式化請(qǐng)求結(jié)果(List類型)
 *
 * @param <T>
 * @param objectList 對(duì)象列表
 * @param msgSuccess 信息提示(請(qǐng)求成功)
 * @param msgFailed 信息提示(請(qǐng)求失?。?
 * @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;
}

/**
 * 格式化請(qǐng)求結(jié)果(Object類型)
 *
 * @param <T>
 * @param object 對(duì)象信息
 * @param msgSuccess 信息提示(請(qǐng)求成功)
 * @param msgFailed 信息提示(請(qǐng)求失?。?
 * @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;
}

/**
 * 格式化請(qǐng)求結(jié)果(Boolean類型)
 *
 * @param result 請(qǐng)求結(jié)果
 * @param msgSuccess 信息提示(請(qǐng)求成功)
 * @param msgFailed 信息提示(請(qǐng)求失?。?
 * @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;
}

看完了這篇文章,相信你對(duì)“SpringBoot接口返回結(jié)果封裝方法有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI