CustomResponse.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.roma.romaapi.utils;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. // 相应工具类
  5. public class CustomResponse {
  6. // 特殊的三个系统错误字段:
  7. // sysErrorCode 错误码
  8. // sysErrorMessage 错误消息
  9. // sysErrorData 错误数据
  10. public static <T> Map success(T data) {
  11. Map<String, Object> result = new HashMap<>();
  12. result.put("code", "200");
  13. result.put("message", "success");
  14. result.put("data", data);
  15. return result;
  16. }
  17. public static <T> Map error(T data, String code, String message) {
  18. Map<String, Object> result = new HashMap<>();
  19. result.put("code", code);
  20. result.put("message", message);
  21. result.put("data", data);
  22. return result;
  23. }
  24. // 格式化响应
  25. public static Map formatResponse(Map data) {
  26. Map<String, Object> result = new HashMap<>();
  27. String code = "0";
  28. String message = "success";
  29. boolean isEmpty = data.containsKey("sysErrorCode");
  30. if(isEmpty) {
  31. // 如果要返回错误提示
  32. boolean isEmptyData = data.containsKey("sysErrorData"); // 错误数据
  33. Object errorCode = data.get("sysErrorCode"); // 错误码
  34. Object errorMessage = data.containsKey("sysErrorMessage") ? data.get("sysErrorMessage")
  35. : new String("operation failed!"); // 错误提示信息
  36. result.put("status", errorCode.toString());
  37. result.put("msg", errorMessage.toString());
  38. result.put("data", !isEmptyData ? data.get("sysErrorData") : new HashMap<>());
  39. } else {
  40. // 返回正确信息
  41. result.put("status", code);
  42. result.put("msg", message);
  43. result.put("data", data);
  44. }
  45. return result;
  46. }
  47. }