网络架构
当一个请求返回失败信息的时候 API 的 调用顺序
================>>>>>>paramsForApi
================>>>>>>reformParams
================>>>>>>shouldCallAPIWithParams
================>>>>>>isCorrectWithParamsData
================>>>>>>开始请求
================>>>>>>请求结束
================>>>>>>beforePerformFailWithResponse
================>>>>>>managerCallAPIDidFailed
================>>>>>>afterPerformFailWithResponse
当一个请求放回成功信息的时候 API 的调用顺序
================>>>>>>paramsForApi
================>>>>>>reformParams
================>>>>>>shouldCallAPIWithParams
================>>>>>>isCorrectWithParamsData
================>>>>>>开始请求
================>>>>>>请求结束
================>>>>>>isCorrectWithCallBackData
================>>>>>>beforePerformSuccessWithResponse
================>>>>>>managerCallAPIDidSuccess
================>>>>>>afterPerformSuccessWithResponse
前面四个方法都是在正式请求之前的方法
paramsForApi 这个方法是在Controller中获取到参数 需要Controller 实现 CTAPIManagerParamSource
reformParams 这个方法是Manager获取Controller传递过来的参数 进行再一次的组装(主要是添加一些Controller不需要传递的参数, 这里一般是不修改Controller传递过来的参数)
shouldCallAPIWithParams 这个方法是拦截器Interceptor里面的代理方法 YES 代表可以请求接口 NO 代表直接拦截 不需要发送请求 代理:CTAPIManagerInterceptor
isCorrectWithParamsData 这个方法是CTAPIManagerValidator里面的方法 YES 代表客户端参数没有问题 可以发送请求 这个方法一般都是在Manager里面去验证 因为验证参数的合理性也是Manager需要去做的
后面这三个方法就是请求结束之后的方法
beforePerformFailWithResponse 这个方法是拦截器里面的代理方法 YES代表可以调用managerCallAPIDidFailed方法 NO则代表不调用
managerCallAPIDidFailed 这个方法是代理CTAPIManagerCallBackDelegate里面的方法 该方法代表请求失败 这个方法都是在Controller中去实现
afterPerformFailWithResponse 这方法是在managerCallAPIDidFailed调用之后 去调用 也是拦截器里面的方法
如果beforePerformFailWithResponse 直接返回NO managerCallAPIDidFailed 以及 afterPerformFailWithResponse 这两个方法都不会调用
isCorrectWithCallBackData 这个方法是CTAPIManagerValidator里面的方法 只有当请求成功之后才会调用该方法 这个方法写在Manager里面
beforePerformSuccessWithResponse 这个方法是拦截器里面的代理方法 YES代表可以调用managerCallAPIDidSuccess方法 NO则代表不调用
managerCallAPIDidSuccess 这个方法是代理CTAPIManagerCallBackDelegate里面的方法 该方法代表请求成功 这个方法都是在Controller中去实现
afterPerformSuccessWithResponse 这方法是在managerCallAPIDidSuccess调用之后调用 也是拦截器里面的方法
网友评论