亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

統一響應模板

標簽:
Java

2021年03月11日 16:19

package com.fedtech.common.util.result;

import cn.hutool.json.JSONUtil;
import com.fedtech.common.constants.Result.ResponseCodeConstants;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * 全局统一响应模板
 *
 * @author <a href="mailto:[email protected]">huan</a>
 * @version 1.0.0
 * @date 2021/1/9
 */
@SuppressWarnings("rawtypes")
@Data
public class R implements Serializable {

    private static final long serialVersionUID = 6426193889384507066L;
    private Boolean status;

    private Integer code;

    private String message;

    private boolean jsonData = Boolean.FALSE;

    private Map data = new HashMap&lt;&gt;();

    private R() {}

    public static R success() {
        R r = new R();
        r.setStatus(true);
        r.setCode(ResponseCodeConstants.SUCCESS);
        r.setMessage("请求成功!");
        return r;
    }

    public static  R success(String message) {
        R r = new R&lt;&gt;();
        r.setStatus(true);
        r.setCode(ResponseCodeConstants.SUCCESS);
        r.setMessage(message);
        return r;
    }

    public static  R fail() {
        R r = new R&lt;&gt;();
        r.setStatus(false);
        r.setCode(ResponseCodeConstants.ERROR);
        r.setMessage("请求失败!");
        return r;
    }

    public static  R fail(String key, Object value) {
        R r = new R&lt;&gt;();
        r.setStatus(false);
        r.data.put(key, value);
        r.setCode(ResponseCodeConstants.ERROR);
        r.setMessage("请求失败!");
        return r;
    }

    public static  R fail(String message) {
        R r = new R&lt;&gt;();
        r.setStatus(false);
        r.setCode(ResponseCodeConstants.ERROR);
        r.setMessage(message);
        return r;
    }

    public static  R fail(String message, Integer code) {
        R r = new R&lt;&gt;();
        r.setStatus(false);
        r.setCode(code);
        r.setMessage(message);
        return r;
    }

    public static  R successWithJsonData(T data) {
        R r = new R&lt;&gt;();
        r.setStatus(Boolean.TRUE);
        r.setCode(ResponseCodeConstants.SUCCESS);
        r.data.put("data", data);
        r.jsonData = Boolean.TRUE;
        return r;
    }

    public static  R successWithData(T data) {
        R r = new R&lt;&gt;();
        r.setStatus(Boolean.TRUE);
        r.setCode(ResponseCodeConstants.SUCCESS);
        r.data.put("data", data);
        return r;
    }

    public static  R failedWithJsonData(T data) {
        R r = new R&lt;&gt;();
        r.setStatus(Boolean.FALSE);
        r.setCode(ResponseCodeConstants.ERROR);
        r.data.put("data", data);
        r.jsonData = Boolean.TRUE;
        return r;
    }

    public static  R failedWithData(T data) {
        R r = new R&lt;&gt;();
        r.setStatus(Boolean.FALSE);
        r.setCode(ResponseCodeConstants.ERROR);
        r.data.put("data", data);
        return r;
    }

    public R message(String message) {
        setMessage(message);
        return this;
    }

    public R code(Integer code) {
        setCode(code);
        return this;
    }

    public R data(String key, Object value) {
        data.put(key, value);
        return this;
    }

    public R data(Map map) {
        setData(map);
        return this;
    }

    public String toJson() {
        if (jsonData) {
            String tem = String.valueOf(data.get("data"));
            data.remove("data");
            String jsonStr = JSONUtil.toJsonPrettyStr(this);
            return StringUtils.replace(jsonStr, jsonStr.substring(30, 38), tem);
        }
        return JSONUtil.toJsonPrettyStr(this);
    }
}


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消