java項目構建基礎:統一結果

Java項目構建基礎:統一結果,統一異常,統一日誌(好文推薦) 

/**
 * 接口響應狀態碼
 */
public enum ResponseCodeStatus {
    SUCCESS("0","成功"),
    FAIL("1","失敗"),
    OVERTIME("2","超時"),
    WARNING("3","警告"),
    UNAUTHENTICATED("4","無權限")
    ;
    private String code;
    private String msg;
    ResponseCodeStatus(String code, String msg){
        this.code = code;
        this.msg = msg;
    }

    @Override
    public String toString(){
        return code;
    }

    public String getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
import java.io.Serializable;
import java.sql.SQLException;
/**
 * 返回前端的判斷實體
 *
 */
public class ResponseState implements Serializable{
	private String code;
	private Object data;
	private String msg;

	public ResponseState(){}

	public ResponseState(ResponseCodeStatus status, Object data, String msg){
		this.code = status.getCode();
		this.data = data;
		this.msg = msg;
	}

	/**
	 * 響應信息
	 * @return ResponseState
	 */
	public static ResponseState ofResult(ResponseCodeStatus code, Object data, String msg) {
		return new ResponseState(code,data,msg);
	}

	/**
	 * 成功只返回狀態
	 * @return ResponseState
	 */
	public static ResponseState ofSuccess() {
		return new ResponseState(ResponseCodeStatus.SUCCESS,"SUCCESS","SUCCESS");
	}

	/**
	 * 成功返回數據
	 * @return ResponseState
	 */
	public static ResponseState ofSuccess(Object data) {
		return new ResponseState(ResponseCodeStatus.SUCCESS,data,null);
	}

	/**
	 * 成功返回數據
	 * @return ResponseState
	 */
	public static ResponseState ofSuccess(Object data,String msg) {
		return new ResponseState(ResponseCodeStatus.SUCCESS,data,msg);
	}

	/**
	 * 警告返回數據
	 * @return ResponseState
	 */
	public static ResponseState ofWarning(Object data) {
		return new ResponseState(ResponseCodeStatus.WARNING,data,null);
	}

	/**
	 * 警告返回數據
	 * @return ResponseState
	 */
	public static ResponseState ofWarning(Object data,String msg) {
		return new ResponseState(ResponseCodeStatus.WARNING,data,msg);
	}
	/**
	 * 警告不返回數據
	 * @return ResponseState
	 */
	public static ResponseState ofWarning(String msg) {
		return new ResponseState(ResponseCodeStatus.WARNING,null,msg);
	}

	/**
	 * 失敗只返回狀態
	 * @return ResponseState
	 */
	public static ResponseState ofFail() {
		return new ResponseState(ResponseCodeStatus.FAIL,null,null);
	}

	/**
	 * 失敗返回失敗信息
	 * @return ResponseState
	 */
	public static ResponseState ofFail(String msg) {
		return new ResponseState(ResponseCodeStatus.FAIL,null,msg);
	}

	/**
	 * session過期只返回狀態
	 * @return ResponseState
	 */
	public static ResponseState ofOverTime() {
		return new ResponseState(ResponseCodeStatus.OVERTIME,null,"session過期,請重新登錄");
	}

	/**
	 * session過期只返回狀態
	 * @return ResponseState
	 */
	public static ResponseState ofOverTime(Object data) {
		return new ResponseState(ResponseCodeStatus.OVERTIME,data,"session過期,請重新登錄");
	}

	public static ResponseState ofOverTime(String msg) {
		return new ResponseState(ResponseCodeStatus.OVERTIME,null,msg);
	}
	public static ResponseState ofUnauthenticated(String msg) {
		return new ResponseState(ResponseCodeStatus.UNAUTHENTICATED,null,msg);
	}

	public String getCode() {
		return code;
	}

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

	public Object getData() {
		return data;
	}

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

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章