一、网络请求应该建一个请求model 根据http://www.cocoachina.com/ios/20160509/16146.html整理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
好处:一、能够看出来RequestDataModel属性都是网络请求发起和返回的必要参数,这样作的好处真的是太大了,不知道你们有没有这样的场景:由于请求参 数的不一样作了好多方法接口暴露出去,最后调起的仍是同一个方法,并且一旦方法写的多了,最后连应该调用哪一个方法都不知道了。 ios
二、另外RequestDataModel带来的另一个好处就是高扩展性,你有没有遇到网络层须要添加删除一个参数致使调用方法修改了,而后不少地方都要修 改方法?用RequestDataModel只须要添加删除参数就好了,只须要改方法体,这个改方法体和同时改方法名方法体是彻底两个工做量服务器