接口數據格式規範

package com.jiuy.web.helper;

import com.jiuy.core.constant.ResultCode;
import com.jiuy.util.freemarker.FreeMarkerTemplateRenderer;


public class JsonResponse {

    private boolean successful;

    private String error;

    private int code;

    private Object data;

    /**
     * 某些接口期望直接返回html片段,可以通過該參數設置
     * 
     * @see FreeMarkerTemplateRenderer#processTemplate(String, com.yujj.util.adapter.ValueSupplier)
     */
    private String html;

    public boolean isSuccessful() {
        return successful;
    }

    public JsonResponse setSuccessful() {
        return setResultCode(ResultCode.COMMON_SUCCESS);
    }

    public String getError() {
        return error;
    }

    public JsonResponse setError(String error) {
        this.error = error;
        return this;
    }

    public int getCode() {
        return code;
    }

    public JsonResponse setCode(int code) {
        this.code = code;
        this.successful = ResultCode.COMMON_SUCCESS.is(code);
        return this;
    }

    public Object getData() {
        return data;
    }

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

    public String getHtml() {
        return html;
    }

    public JsonResponse setHtml(String html) {
        this.html = html;
        return this;
    }

    public JsonResponse setResultCode(ResultCode resultCode) {
        this.code = resultCode.getCode();
        this.successful = ResultCode.COMMON_SUCCESS == resultCode;
        if (!successful) {
            this.error = resultCode.getDesc();
        }
        return this;
    }

    public JsonResponse switchBetween(int code, Object data, String error) {
        this.data = data;
        this.code = code;
        this.successful = ResultCode.COMMON_SUCCESS.is(code);
        if (!successful) {
            this.error = error;
        }
        return this;
    }
}
發佈了57 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章