1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class ApiEncoder {
  4. /**
  5. * Encodes API response data with basic error handling.
  6. * @param response The API response data (can be any type).
  7. * @param errorMsg Optional error message.
  8. * @return A map containing the encoded data and error message (if any).
  9. */
  10. public static Map<String, Object> encodeResponse(Object response, String errorMsg) {
  11. Map<String, Object> encodedData = new HashMap<>();
  12. try {
  13. encodedData.put("data", response); // Store the raw response data
  14. encodedData.put("status", "success");
  15. } catch (Exception e) {
  16. encodedData.put("data", "error"); // Indicate an error occurred
  17. encodedData.put("status", "error");
  18. encodedData.put("error_message", errorMsg); // Include the error message
  19. System.err.println("Error encoding response: " + e.getMessage());
  20. }
  21. return encodedData;
  22. }
  23. public static void main(String[] args) {
  24. // Example Usage
  25. Object validResponse = "{\"message\": \"Success!\"}";
  26. Map<String, Object> encodedValid = encodeResponse(validResponse, null);
  27. System.out.println(encodedValid);
  28. Object invalidResponse = null;
  29. String errorMessage = "Invalid response format";
  30. Map<String, Object> encodedInvalid = encodeResponse(invalidResponse, errorMessage);
  31. System.out.println(encodedInvalid);
  32. }
  33. }

Add your comment