NLRMashapeClient基于AFNetworking构建,NLRMashapeClient提供简单和方便的形式来调用你在Mashape选择的APIs。
用法以“UltimateWeatherForecasts”为例,这是一个免费的返回天气状况的API。登录到Mashape并拥有至少一个应用程序后,将为MashapeKey每个应用程序获得一个,以提出对此应用程序的请求。首先,创建NLRMashapeClient的子类,并声明单例方法,如下所示。#import"NLRMashapeClient.h"@interfaceWeatherClient:NLRMashapeClient+(instancetype)sharedClient;@end现在,应该使用正确的API名称和MashapeAppKey实现单例方法。API名称是URL中位于之前的部分.p.mashape.com。例如,如果天气API的基本网址为https://george-vustrey-weather.p.mashape.com,则应使用george-vustrey-weather。可以从Mashape的应用程序页面中获取应用程序密钥,然后按“获取密钥”按钮。#import"WeatherClient.h"@implementationWeatherClient+(instancetype)sharedClient{staticdispatch_once_tonce;staticidsharedInstance;dispatch_once(&once,^{sharedInstance=[[selfalloc]initWithAPIName:@"george-vustrey-weather"mashapeAppKey:@"THE-KEY-FOR-YOUR-APP"];});returnsharedInstance;}@end对于将使用的每个MashapeAPI,应该使用的一个子类/单个子类NLRMashapeClient。正确初始化客户端后,就可以完成配置,并且可以进行任意数量的调用,而无需设置标题,键,而仅需注意:端点和参数!例如,如果示例GET为https://george-vustrey-weather.p.mashape.com/api.php,而参数为location,则只需调用:[[WeatherClientsharedClient]]GET:@"api.php"parameters:@{@"location":@"TelAviv"}success:^(NSURLSessionDataTask*task,idresponseObject){NSLog(@"%@",responseObject);}failure:^(NSURLSessionDataTask*task,NSError*error){NSLog(@"%@",error);}];对于单个调用,Mashape提供的Objective-C示例要简单得多。如果想更多地玩这个游戏,可以使用示例项目(它需要CocoaPods并在运行podinstall之前运行)。点击空白处退出提示
评论