导入方式:
- pod 'XNNetwork'
功能支持
- 序列化方式
- 请求方式
- 域名配置
- 域名对应结构键值配置
- 域名对应错误类型配置
- 网络缓存配置
- 请求拦截处理
业务类说明
XNBaseAPIManager(业务基类)
包含代理:
-
XNRequestConfigutionDelegate
序列化、请求方式、URI、域名、缓存配置
-
XNRequestDomainConfigutionDelegate
XNAPIConfiguration对应的域名相关配置
-
XNRequestParamsDelegate
参数配置
-
XNRequestValidatorDelegate
请求发起前的校验
-
XNRequestCallbackDelegate
回调处理,处理前的拦截处理
包含公共方法:
- requestWithURI:params:successBlock:failedBlock
通过必要业务传参直接发起请求,并在回调中处理相关逻辑
父类方法:
- 发起请求、取消请求、批量取消请求
XNAPIConfiguration(配置类,针对域名)
- 介绍
支持多域名注册,域名相关配置,以配置的形式兼容不同域名间返回及定义的差异,公共header、body的配置
解决问题示例
-
同域名下不同接口结构的统一配置
继承XNBaseAPIManager,更改需要变动的代理中的方法,通过简便公用方法调用,或一个接口对应一个子类(以支持模块化的扩展)
-
不同项目通过配置的形式快速接入网络库,脱离大规模的复制粘贴
详情见XNAPIConfiguration中注释
-
通过配置的形式对应不同的错误状态,以枚举的形式统一并暴露错误状态,提高代码可读性
-
提供拦截方法,以处理不同状态下的事件,可统一也可针对某些接口,拦截后自行处理是否需要继续执行接下来的回调逻辑
比如登录、token过期时,需要进行相关的业务
-
网络库模块化,之后通过版本控制工具引入即可,使用时引入XNNetwork.h头文件
待完善部分
-
下载、上传封装
-
其他网络相关便捷方法
比如网络监测部分逻辑,与本库的关联性方面