1、网络请求应该建一个请求model 根据http://www.cocoachina.com/ios/20160509/16146.html整理
@interface YAAPIBaseRequestDataModel : NSObject /** * 网络请求参数 */ @property (nonatomic, strong) NSString *apiMethodPath; //网络请求地址 @property (nonatomic, assign) YAServiceType serviceType; //服务器标识 @property (nonatomic, strong) NSDictionary *parameters; //请求参数 @property (nonatomic, assign) YAAPIManagerRequestType requestType; //网络请求方式 @property (nonatomic, copy) CompletionDataBlock responseBlock; //请求着陆回调 // upload // upload file @property (nonatomic, strong) NSString *dataFilePath; @property (nonatomic, strong) NSString *dataName; @property (nonatomic, strong) NSString *fileName; @property (nonatomic, strong) NSString *mimeType; // download // download file // progressBlock @property (nonatomic, copy) ProgressBlock uploadProgressBlock; @property (nonatomic, copy) ProgressBlock downloadProgressBlock; @end
好处:1、可以看出来RequestDataModel属性都是网络请求发起和返回的必要参数,这样做的好处真的是太大了,不知道大家有没有这样的场景:因为请求参 数的不同做了好多方法接口暴露出去,最后调起的还是同一个方法,而且一旦方法写的多了,最后连应该调用哪个方法都不知道了。
2、另外RequestDataModel带来的另外一个好处就是高扩展性,你有没有遇到网络层需要添加删除一个参数导致调用方法修改了,然后很多地方都要修 改方法?用RequestDataModel只需要添加删除参数就行了,只需要改方法体,这个改方法体和同时改方法名方法体是完全两个工作量