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;
}
}