public Object call(String action, Map<String, Object> args) {
// Extract input & output maps
Map<String, Object> input = (Map<String, Object>) args.get('input');
Map<String, Object> output = (Map<String, Object>) args.get('output');
try {
// Read numbers from input JSON
Decimal a = (Decimal) input.get('a');
Decimal b = (Decimal) input.get('b');
// Validate inputs
if (a == null || b == null) {
output.put('success', false);
output.put('message', 'Both a and b are required');
output.put('sum', null);
return output;
}
// Calculate sum
Decimal sum = a + b;
// Return response
output.put('success', true);
output.put('sum', sum);
output.put('message', 'Sum calculated successfully');
} catch (Exception e) {
output.put('success', false);
output.put('message', e.getMessage());
output.put('sum', null);
}
return output;
}
}
Debug code:
Map<String, Object> input = new Map<String, Object>{
'a' => 5,
'b' => 15
};
Map<String, Object> args = new Map<String, Object>{
'input' => input,
'output' => new Map<String, Object>()
};
SumCalculator calc = new SumCalculator();
Map<String, Object> result =
(Map<String, Object>) calc.call('add', args);
System.debug(result);
No comments:
Post a Comment