基于AFNetworking封装网络库

阅读原文

基于AFNetworking封装网络库


对于开发人员来说,学习网络层知识是必备的,任何一款App的开发,都需要到网络请求接口。很多朋友都还在使用原生的NSURLConnection一行一行地写,代码到处是,这样维护起来更困难了。

对于使用AFNetworking的朋友来说,很多朋友都是直接调用AFNetworkingAPI,这样不太好,无法做到全工程统一配置。

最好的方式就是对网络层再封装一层,全工程不允许直接使用AFNetworkingAPI,必须调用我们自己封装的一层,如此一来,任何网络配置都可以在这一层里配置好,使用的人无须知道里面在干嘛,只管调用就可以了。

常用接口类型


应用开发过程中,所使用类型通常是GETPOST及上传图片。因此,这里只是对这几种类型提供API

GET接口


这里提供了两个GET请求的API,需要一般情况下GET请求都是直接写一个完整的URL,但是有时候为了参数可读性更强,改成传一个字典过来更容易阅读。

HYBResponseSuccess是响应成功的回调,返回的是字典,外部再转换成模型就可以了。
HYBResponseFail是响应失败的回调,只有一个NSError对象,外部可接收处理。

/*!
 *  @author 黄仪标, 15-11-15 13:11:50
 *
 *  GET请求接口,若不指定baseurl,可传完整的url
 *
 *  @param url     接口路径,如/path/getArticleList?categoryid=1
 *  @param success 接口成功请求到数据的回调
 *  @param fail    接口请求数据失败的回调
 *
 *  @return 返回的对象中有可取消请求的API
 */
+ (HYBRequestOperation *)getWithUrl:(NSString *)url
                            success:(HYBResponseSuccess)success
                               fail:(HYBResponseFail)fail;
/*!
 *  @author 黄仪标, 15-11-15 13:11:50
 *
 *  GET请求接口,若不指定baseurl,可传完整的url
 *
 *  @param url     接口路径,如/path/getArticleList
 *  @param params  接口中所需要的拼接参数,如@{"categoryid" : @(12)}
 *  @param success 接口成功请求到数据的回调
 *  @param fail    接口请求数据失败的回调
 *
 *  @return 返回的对象中有可取消请求的API
 */
+ (HYBRequestOperation *)getWithUrl:(NSString *)url
                             params:(NSDictionary *)params
                            success:(HYBResponseSuccess)success
                               fail:(HYBResponseFail)fail;

POST接口

阅读原文

上一篇:监控一个大事务的回滚


下一篇:更高效地提高redis client多线程操作的并发吞吐设计