Plugin¶
MoyaMapperPlugin 的初始化方法
public init<T: ModelableParameterType>(
_ type: T,
transformError: Bool = true
)
type
:ModelableParameterType
用于定义字段路径,做为全局解析数据的依据
transformError
:Bool
是否当网络请求失败时,自动转换请求结果,默认为 true
- 当请求失败的时候,此时的
result.response
为nil
,根据transformError
是否true
判断是否创建一个自定义的response
并返回出去。
➡ 本来可以请求到的数据内容
➡ 现在关闭网络,再请求数据
-
正常情况下,即不做任何不处理的时候,
Response
为nil
-
经过
MoyaMapperPlugin
处理的后可得到转换后的Response
,如图
- 这里将请求失败进行了统一处理,无论是服务器还是自身网络的问题,
retStatus
都为 MMStatusCode.loadFail,但是 errorDescription 会保持原来的样子并赋值给retMsg
。
retStatus
值会从枚举MMStatusCode
中取loadFail.rawValue
,即700
- 取 类型为
ModelableParameterType
的type
中statusCodeKey
所指定的值 为键名
ps:
- 可以通过判断
retStatus
是否与MMStatusCode.loadFail.rawValue
相同来判断是否显示加载失败的空白页占位图 retStatus
的值只有在请求失败的请求下,MoyaMapperPlugin
才会去修改。如从缓存中取出的数据,其retStatus
还是000
。