Java中響應結果工具類,可自定義響應碼,內容,響應消息


創建響應狀態碼和說明枚舉類

/**
* 響應狀態碼和說明
*/
public enum CodeEnum {
   SUCCESS(0, "成功!"),
   FAIL(1, "失敗,未知錯誤!"),;

   /**
    * 響應狀態碼
    */
   private final int code;

   /**
    * 響應提示
    */
   private final String msg;

   CodeEnum(int code, String msg) {
       this.code = code;
       this.msg = msg;
  }

   public int getCode() {
       return code;
  }

   public String getMsg() {
       return msg;
  }
}

基本響應封裝

/**
* 基本響應封裝
*/
public class BaseResponse {

/**
* 響應碼
*/
private int code;

/**
* 響應消息
*/
private String msg;

protected BaseResponse() {}

protected BaseResponse(CodeEnum code) {
  this.code = code.getCode();
  this.msg = code.getMsg();
  }

   public static BaseResponse out(CodeEnum code) {
  return new BaseResponse(code);
  }

public int getCode() {
return code;
}

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

public String getMsg() {
return msg;
}

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

響應數據結構封裝

/**
* 響應數據結構封裝
*/
public class ResponseData<T> extends BaseResponse {

private T data;

private ResponseData() {}

private ResponseData(CodeEnum code, T data) {
super(code);
this.data = data;
}

public static <T> ResponseData<T> out(CodeEnum code, T data) {
return new ResponseData<T>(code, data);
}

public T getData() {
return data;
}

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

}

測試

public static void main(String[] args) {
   BaseResponse out = BaseResponse.out(CodeEnum.SUCCESS);
   System.out.println("基本響應封裝:\n" + JSON.toJSONString(out));
   List<String> list = new LinkedList<>();
   list.add(UUID.randomUUID().toString());
   ResponseData<List<String>> data = ResponseData.out(CodeEnum.FAIL, list);
   System.out.println("響應數據結構封裝:\n" + JSON.toJSONString(data));
}

打印結果: 基本響應封裝: {"code":0,"msg":"成功!"} 響應數據結構封裝: {"code":1,"data":["aac1d70a-1eaf-4d6a-8383-102ced0bdf29"],"msg":"失敗,未知錯誤!"}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM