阅读原文
基于AFNetworking封装网络库
对于开发人员来说,学习网络层知识是必备的,任何一款App
的开发,都需要到网络请求接口。很多朋友都还在使用原生的NSURLConnection
一行一行地写,代码到处是,这样维护起来更困难了。
对于使用AFNetworking
的朋友来说,很多朋友都是直接调用AFNetworking
的API
,这样不太好,无法做到全工程统一配置。
最好的方式就是对网络层再封装一层,全工程不允许直接使用AFNetworking
的API
,必须调用我们自己封装的一层,如此一来,任何网络配置都可以在这一层里配置好,使用的人无须知道里面在干嘛,只管调用就可以了。
常用接口类型
应用开发过程中,所使用类型通常是GET
、POST
及上传图片。因此,这里只是对这几种类型提供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
接口
阅读原文