关于项目中的AFNetworking网络请求封装

最近刚刚开始第一份正式的开发工作, 为了以后也想要在开发的路上一直走下去所以开通了一个账号准备将以后遇到的一些问题记录下来.

虽然以前在学习过程中, 也一直在简书上看其他大神的代码, 但是并没有想要自己做一些记录, 毕业后参加第一份工作, 没成想做了几个月,就遇到公司倒闭所以一个项目也没做成, 在之后看到国内销售行业前景一片大好的情况下, 入了房地产, 种种原因销售没能做下去, 思来想去觉得一个行业能够做一辈子学习一辈子就够了, 于是又回到了开发者的行列.

/**

*封装AFN的POST请求

*

*@param URLString网络请求地址

*@param dict参数(可以是字典或者nil)

*@param succeed成功后执行success block

*@param failure失败后执行failure block

*/

+ (void)POST:(NSString*)URLString dict:(id)dict succeed:(void(^)(iddata))succeed failure:(void(^)(NSError*error))failure

{

//创建网络请求管理对象

AFHTTPSessionManager*manager = [AFHTTPSessionManagermanager];

//申明返回的结果是json类型

manager.responseSerializer= [AFJSONResponseSerializerserializer];

//申明请求的数据是json类型

manager.requestSerializer= [AFJSONRequestSerializerserializer];

//如果报接受类型不一致请替换一致text/html或别的

manager.responseSerializer.acceptableContentTypes= [NSSetsetWithObjects:@"text/html",nil,nil];

//发送网络请求(请求方式为POST)

[managerPOST:URLStringparameters:dictprogress:^(NSProgress*_NonnulluploadProgress) {

}success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {

succeed(responseObject);

}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {

failure(error);

}];

}

/*调用方法

/

[NetWork POST:<#(NSString *)#> dict:<#(id)#> succeed:<#^(id data)succeed#> failure:<#^(NSError *error)failure#>];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容