I am trying to use the currency converter API from mashape located at https://www.mashape.com/ultimate/currency-convert#!
I am new to Objective-C. I am trying to call the API through this code -
NSDictionary* headers = @{@"X-Mashape-Authorization": @"key"};
NSDictionary* parameters = @{@"amt": @"2", @"from": @"USD", @"to": @"INR", @"accuracy": @"2"};
UNIHTTPJsonResponse* response = [[UNIRest post:^(UNISimpleRequest* request) {
[request setUrl:@"https://exchange.p.mashape.com/exchange/?amt=120&from=usd&to=gbp&accuracy=3&format=json"];
[request setHeaders:headers];
[request setParameters:parameters];
}] asJson];
Can someone tell me how I can access the information returned and also how to send the parameter 2 as a number instead of a string.
It seems like mashape's APIs are not all standardized to the point of taking parameters from the parameter array - you need to pass them in the setUrl call of your UNIHTTPJsonResponse object.
Also, using async calls when getting data from a remote API like this is a Good Idea.
NSDictionary* headers = @{@"X-Mashape-Authorization": @"key"};
[[UNIRest post:^(UNISimpleRequest* request) {
[request setUrl:@"https://exchange.p.mashape.com/exchange/?amt=120&from=usd&to=gbp&accuracy=3&format=json"]; // this is where you want to set your currencies, amounts, etc.
[request setHeaders:headers];
[request setParameters:@{}]; // is this needed? I dunno
}] asJsonAsync:^(UNIHTTPJsonResponse* response, NSError *error) {
if (error) {
NSLog(@"%@",[error localizedDescription]);
} else {
// here you do all the stuff you want to do with the data you got.
// like launch any code that actually deals with the data :)
NSDictionary *currencyResult = [NSJSONSerialization JSONObjectWithData:[response rawBody] options: 0 error: &error];
NSLog(@"%@", currencyResult);
}
}];