zoukankan      html  css  js  c++  java
  • 网络请求随笔

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

  • 相关阅读:
    yb课堂之自定义异常和配置 《五》
    文件包含总结--2018自我整理
    文件上传总结--2018自我整理
    i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor
    bugku web题INSERT INTO注入
    SCTF2018-Event easiest web
    初识thinkphp(5)
    “百度杯”CTF比赛 九月场 YeserCMS
    初识thinkphp(4)
    0MQ是会阻塞的,不要字面上看到队列就等同非阻塞。
  • 原文地址:https://www.cnblogs.com/huoxingdeguoguo/p/5473191.html
Copyright © 2011-2022 走看看