贼好用的 AFN3.x 网络请求封装,支持HTTPS验证,多图上传

AFNetworking
AFNetworking

我项目里面的网络请求是一外包大牛基于AFN2.x封装的基本网络请求,感觉其封装的贼好,对服务端返回的错误码统一处理,对返回的 json 数据下发给每个继承自基本网络请求的 子网络请求 自己处理自己的数据,但是缺点就是AFN框架太老,不适合其他人使用。所以。。。

先瞅瞅效果哈~
网络请求

基于AFN3.x核心类AFURLSessionManager封装的网络请求(参考了点ytk),支持 HTTPS 请求验证,可以配置请求头,支持多图上传并可选带进度回调,支持 block、delegate(代理) 请求回调,不带请求缓存

本来想着在项目原来的封装基础上修改,无奈从 AFN2.xAFN3.x 迁移是一件多么不容易的事情,AFN3.x删掉好多东西,特别是AFHTTPRequestOperation,这里可以看我之前翻译的一篇迁移的文章AFNetworking 3.0迁移指南

说明一下这个网络封装是3个月之前写好的,当时写的不完善,趁现在项目不忙,就重新修改完善一下,新增加了图片上传的代码。

使用方法

由效果图中看出,请求的回调方式有 block、delegate。根据自己的爱好使用。
如图大致说明:

Demo结构

关于网络请求的封装是怎么成型的,这里就不叙述了,仔细循着方法看看,应该能看的懂,关于本基本网络请求 API 可以修改的地方,在此特意备注,为了兼容你项目,适合你使用。本 Demo 使用的是本公司的测试服务器域名,使用的时候要换成自己公司的,如下看图:

注意1:

注意1

注意2:

注意2

注意1注意2 图说明,其对应的后台返回 json 数据格式如下(这是我公司的),修改的话根据自己公司的来做

后台返回 json 数据格式

关于子网络请求的使用说明看图:


子网络请求

子网络请求图,里面有个请求路径方法:-requestURLPath;相信有些人对请求路径不是太明了,这里坐下介绍:
域名和参数之间的即为请求路径
如图:

请求路径

域名

举个栗子:
http://102.302.123.215/index.php/api/talk/getFriend?token=&uid=
域名:http://102.302.123.215
请求路径:/index.php/api/talk/getFriend
请求参数:token=&uid=
这样子我讲明白了吧

关于 HTTPS 验证的,xcode 工程中要导入你公司后台给的证书;
关于多图上传的自己看对应的代码,看2遍就懂了,不难的

声明:本 Demo 里面依赖的东西比较多,自己有兴趣使用的,多看看,好多 debug 调试的地方都用到了通用的宏文件 CommonMacro.h,还有就是模型解析时候依赖了Mantle,但是基本的请求 API 不用修改。

Demo 下载链接请点击 穿越源码

刹车了~ 不 bb 了,
充实的一天。。。

PS:千里之外,始于您手,万分喜爱源自点赞、评论+喜欢~

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,678评论 25 708
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,277评论 1 23
  • 我们的青春就像是奔流不息的江河,呼啸着追求我们想要的一切。从来没有想过,也从来没有问过,我们想要的又是何物。 想逃...
    影子_dd64阅读 661评论 0 4
  • 写论文,构思,混合润滑调出来了,开心
    冰淇淋很饿阅读 89评论 0 0