import java.util.HashMap;
import java.util.Map;
public class ApiEncoder {
/**
* Encodes API response data with basic error handling.
* @param response The API response data (can be any type).
* @param errorMsg Optional error message.
* @return A map containing the encoded data and error message (if any).
*/
public static Map<String, Object> encodeResponse(Object response, String errorMsg) {
Map<String, Object> encodedData = new HashMap<>();
try {
encodedData.put("data", response); // Store the raw response data
encodedData.put("status", "success");
} catch (Exception e) {
encodedData.put("data", "error"); // Indicate an error occurred
encodedData.put("status", "error");
encodedData.put("error_message", errorMsg); // Include the error message
System.err.println("Error encoding response: " + e.getMessage());
}
return encodedData;
}
public static void main(String[] args) {
// Example Usage
Object validResponse = "{\"message\": \"Success!\"}";
Map<String, Object> encodedValid = encodeResponse(validResponse, null);
System.out.println(encodedValid);
Object invalidResponse = null;
String errorMessage = "Invalid response format";
Map<String, Object> encodedInvalid = encodeResponse(invalidResponse, errorMessage);
System.out.println(encodedInvalid);
}
}
Add your comment