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。