网络请求随笔

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只需要添加删除参数就行了,只需要改方法体,这个改方法体和同时改方法名方法体是完全两个工作量

原文地址:https://www.cnblogs.com/huoxingdeguoguo/p/5473191.html