Result.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.tryon.common;
  2. import lombok.Data;
  3. import lombok.NoArgsConstructor;
  4. import lombok.AllArgsConstructor;
  5. import java.io.Serializable;
  6. /**
  7. * 统一响应结果封装类
  8. *
  9. * @param <T> 业务数据类型
  10. */
  11. @Data
  12. @NoArgsConstructor
  13. @AllArgsConstructor
  14. public class Result<T> implements Serializable {
  15. private static final long serialVersionUID = 1L;
  16. /** 业务状态码:0=成功,非0=失败 */
  17. private Integer code;
  18. /** 提示信息 */
  19. private String message;
  20. /** 业务数据 */
  21. private T data;
  22. /**
  23. * 成功(无数据)
  24. */
  25. public static <T> Result<T> success() {
  26. return new Result<>(0, "success", null);
  27. }
  28. /**
  29. * 成功(带数据)
  30. */
  31. public static <T> Result<T> success(T data) {
  32. return new Result<>(0, "success", data);
  33. }
  34. /**
  35. * 成功(自定义消息 + 数据)
  36. */
  37. public static <T> Result<T> success(String message, T data) {
  38. return new Result<>(0, message, data);
  39. }
  40. /**
  41. * 失败(默认错误码 1)
  42. */
  43. public static <T> Result<T> error(String message) {
  44. return new Result<>(1, message, null);
  45. }
  46. /**
  47. * 失败(自定义错误码)
  48. */
  49. public static <T> Result<T> error(Integer code, String message) {
  50. return new Result<>(code, message, null);
  51. }
  52. }