1. public enum ResponseCode {
    2. /**
    3. * 成功
    4. */
    5. SUCCESS(200, true),
    6. /**
    7. * 失败
    8. */
    9. FAILURE(500, false),
    10. /**
    11. * 错误
    12. */
    13. ERROR(-1, false);
    14. /**
    15. * 状 态 码
    16. */
    17. @Getter
    18. private final int code;
    19. /**
    20. * 携 带 消 息
    21. */
    22. @Getter
    23. private final boolean success;
    24. /**
    25. * 构 造 方 法
    26. */
    27. ResponseCode(int code, boolean success) {
    28. this.code = code;
    29. this.success = success;
    30. }
    31. }
    1. @Data
    2. public class Response<T> implements Serializable {
    3. /**
    4. * 状态码
    5. */
    6. private int code;
    7. /**
    8. * 返回消息
    9. */
    10. private boolean success;
    11. /**
    12. * 返回数据
    13. */
    14. private T data;
    15. public Response() {
    16. }
    17. public static <T> Response<T> success() {
    18. return Response.success(ResponseCode.SUCCESS.getCode(), ResponseCode.SUCCESS.isSuccess(), null);
    19. }
    20. public static <T> Response<T> failure() {
    21. return Response.failure(ResponseCode.FAILURE.getCode(), ResponseCode.FAILURE.isSuccess(), null);
    22. }
    23. public static <T> Response<T> error() {
    24. return Response.error(ResponseCode.ERROR.getCode(), ResponseCode.ERROR.isSuccess(), null);
    25. }
    26. public static <T> Response<T> success(T data) {
    27. return Response.success(ResponseCode.SUCCESS.getCode(), ResponseCode.SUCCESS.isSuccess(), data);
    28. }
    29. public static <T> Response<T> failure(T data) {
    30. return Response.failure(ResponseCode.FAILURE.getCode(), ResponseCode.FAILURE.isSuccess(), data);
    31. }
    32. public static <T> Response<T> error(T data) {
    33. return Response.error(ResponseCode.ERROR.getCode(), ResponseCode.ERROR.isSuccess(), null);
    34. }
    35. /**
    36. * 成功操作, 携带自定义状态码、消息、数据
    37. */
    38. public static <T> Response<T> success(int code, boolean success, T data) {
    39. Response<T> result = new Response<T>();
    40. result.setCode(code);
    41. result.setSuccess(success);
    42. result.setData(data);
    43. return result;
    44. }
    45. /**
    46. * 失败操作, 携带自定义状态码、消息、数据
    47. */
    48. public static <T> Response<T> failure(int code, boolean success, T data) {
    49. Response<T> result = new Response<T>();
    50. result.setCode(code);
    51. result.setSuccess(success);
    52. result.setData(data);
    53. return result;
    54. }
    55. /**
    56. * 错误操作, 携带自定义状态码、消息、数据
    57. */
    58. public static <T> Response<T> error(int code, boolean success, T data) {
    59. Response<T> result = new Response<T>();
    60. result.setCode(code);
    61. result.setSuccess(success);
    62. result.setData(data);
    63. return result;
    64. }
    65. }