iOS开发-网络框架-b
2016-06-22 19:30
323 查看
网络框架(以下称NJAFNetworking)是基于AFNetworking框架的简单封装,基本功能包括POST请求,GET请求,上传文件,下载文件,网络状态,缓存等。
优点:
网络状态已经封装,在通过GET/POST请求会回调;
缓存已经封装,当GET/POST请求失败后会回调;
开发接口少,只需调用相应功能功能的接口即可。
更新请求接口基础url(如果服务器地址有多个,可以不配置)
GET请求接口
POST请求接口
图片上传接口
上传文件
下载文件
写在Podfile文件中,
下载NJAFNetworking(下载地址)
下载完后将NJAFNetworking文件夹拖入工程中即可。
为什么要使用NJAFNetworking?
在使用AFNetworking的时候我们会发现对外开发接口比较多,当项目需求涉及到缓存,以及网络判断的时候,我们都无从下手。然NJAFNetworking框架将这些过多的开发接口封装到一起,让我们使用起来更为方便。优点:
网络状态已经封装,在通过GET/POST请求会回调;
缓存已经封装,当GET/POST请求失败后会回调;
开发接口少,只需调用相应功能功能的接口即可。
NJAFNetworking究竟是什么?
配置公共的请求头(可以不配置)/** * 配置公共的请求头,用于区分请求来源,需要与服务器约定好 * @param httpHeaders 如@{"client" : "iOS"} */ + (void)configCommonHttpHeaders:(NSDictionary *)httpHeaders;
更新请求接口基础url(如果服务器地址有多个,可以不配置)
/** * 更新请求接口基础url(如果服务器地址有多个) * @param baseUrl 请求接口基础url */ + (void)updateBaseUrl:(NSString *)baseUrl;
GET请求接口
/** * GET请求接口 * @param url 访问地址路径,如/user/index/login * @param refreshCache 是否刷新缓存,YES * @param params 需要传的参数,如@{@"user_id" :@(80011)} * @param progress 进度回调, * @param success 接口请求响应成功回调 * @param fail 接口请求响应失败回调 * @return NSURLSessionTask */ + (NJURLSessionTask *)getWithUrl:(NSString *)url refreshCache:(BOOL)refreshCache params:(NSDictionary *)params progress:(NJLoadProgress)progress success:(NJResponseSuccess)success fail:(NJResponseFail)fail;
POST请求接口
/** * POST请求接口 * @param url 访问地址路径,如/user/index/login * @param refreshCache 是否刷新缓存,YES * @param params 需要传的参数,如@{@"user_id" :@(80011)} * @param progress 进度回调, * @param success 接口请求响应成功回调 * @param fail 接口请求响应失败回调 * @return NSURLSessionTask */ + (NJURLSessionTask *)postWithUrl:(NSString *)url refreshCache:(BOOL)refreshCache params:(NSDictionary *)params progress:(NJLoadProgress)progress success:(NJResponseSuccess)success fail:(NJResponseFail)fail;
图片上传接口
/** * 图片上传接口 * @param image 图片对象 * @param url 上传图片路径,如/user/images * @param filename 文件名字,默认为当前时间yyyyMMddHHmmss.jpg * @param name 约定关联名称,如image * @param mimeType 默认iamge/jpeg * @param parameters 需要传的参数,如@{@"user_id" :@(80011)} * @param progress 上传进度回调 * @param success 上传成功回调 * @param fail 上传失败回调 * @return NSURLSessionTask */ + (NJURLSessionTask *)uploadWithImage:(UIImage *)image url:(NSString *)url filename:(NSString *)filename name:(NSString *)name mimeType:(NSString *)mimeType parameters:(NSDictionary *)parameters progress:(NJLoadProgress)progress success:(NJResponseSuccess)success fail:(NJResponseFail)fail;
上传文件
/** * 上传文件 * @param url 上传文件路径,如/user/images * @param uploadingFile 待上传文件路径,如/user/images * @param progress 进度回调 * @param success 上传成功回调 * @param fail 上传失败回调 * @return NSURLSessionTask */ + (NJURLSessionTask *)uploadFileWithUrl:(NSString *)url uploadingFile:(NSString *)uploadingFile progress:(NJLoadProgress)progress success:(NJResponseSuccess)success fail:(NJResponseFail)fail;
下载文件
/** * 下载文件 * @param url 下载文件URL * @param saveToPath 下载到那个路径下 * @param progress 下载进度 * @param success 下载成功后的回调 * @param fail 下载失败后的回调 * @return NSURLSessionTask */ + (NJURLSessionTask *)downloadWithUrl:(NSString *)url saveToPath:(NSString *)saveToPath progress:(NJLoadProgress)progress success:(NJResponseSuccess)success fail:(NJResponseFail)fail;
如何使用NJAFNetworking?
NJAFNetworking支持CocoaPods(CocoaPods是什么?)写在Podfile文件中,
source 'https://github.com/CocoaPods/Specs.git' inhibit_all_warnings! target "这里写你的工程名字" do pod 'NJAFNetworking', '~> 1.0.1' end
下载NJAFNetworking(下载地址)
下载完后将NJAFNetworking文件夹拖入工程中即可。
相关文章推荐
- 网络爬虫(2)--异常处理
- TCP协议简介
- Linux下tcp协议socket的recv函数返回时机分析(粘包)
- BZOJ 2756 [SCOI2012]奇怪的游戏
- Spring MVC将异常映射到HTTP状态码
- 使用GCDAsyncUdpSocket&GCDAsyncSocket进行TCP连接和UDP连接
- 将图片打包成文件上传服务器 POST请求 AFNetWorking网络请求
- 【Python】使用socketserver建立一个异步TCP服务器
- HTTPS那些事(一)HTTPS原理
- Okhttp任务队列工作原理
- 计算机网络——TCP三次、四次握手详解
- Android中的网络技术基础用法
- JAVA发送http、https请求
- Python即时网络爬虫:API说明
- 如何搭建免费的网络验证系统
- [freeCodeCamp] solution to HTTP JSON API SERVER passed!
- 问题:Tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误
- RDO单机安装Openstack以及lvm卷存储与Vxlan网络配置
- 第7讲 Android网络与数据存储
- TCP协议详解---上