https://github.com/xiaohange/jqhttprequest
GET/POST / PUT / DELETE 网络请求的封装
https://github.com/xiaohange/jqhttprequest
api-client delete get head http-client patch post put request
Last synced: 11 months ago
JSON representation
GET/POST / PUT / DELETE 网络请求的封装
- Host: GitHub
- URL: https://github.com/xiaohange/jqhttprequest
- Owner: xiaohange
- License: mit
- Created: 2017-05-24T08:09:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-16T02:26:01.000Z (almost 9 years ago)
- Last Synced: 2025-07-01T06:53:41.057Z (12 months ago)
- Topics: api-client, delete, get, head, http-client, patch, post, put, request
- Language: Objective-C
- Size: 497 KB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JQHttpRequest
前言
===
JQHttpRequest:目前二次封装网络库支持四种请求:GET、POST、PUT、DELETE较常见的请求,HEAD/PATH/COPY/OPTIONS/LINK/LOCK等不常用的后续会根据需求调整,本库支持数据缓存、缓存超时设置、请求超时设置等;支持cer证书验证等;
## 更新记录
- 0.0.5
新增文件上传, 文件下载, 设置请求头等
- 0.0.4
新增取消全部请求
- 0.0.3
新增CER证书验证
- 0.0.2
新增EGOCache缓存, 新增四种缓存方式
- 0.0.1
发布第一版本 0.0.1
## Installation
#### From CocoaPods
```
pod "JQHttpRequest"
```
#### Manually
- Drag all source files under floder `JQHttpRequest` to your project.
## Usage
```
///Test
[[JQBaseRequest sharedManager].setRequest(COLLECTION_LIST).RequestType(JQRequestMethodGET).Cachetype(JQBaseRequestReloadIgnoringLocalCacheData).cerName(nil).timeoutInterval(30).CachTime(60).Parameters(nil) startRequestWithSuccess:^(NSURLSessionDataTask *task, id responseObject) {
} progress:^(NSProgress *progress) {
/* NSProgress 不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!*/
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"%@",error);
}];
```
- 参数说明:
```
setRequest: 请求url
RequestType:
请求类型:
JQRequestMethodGET = 0,
JQRequestMethodPOST,
JQRequestMethodPUT,
JQRequestMethodDELETE 目前支持四种,会持续更新;
-------------------------------------------------------------------------
Cachetype: 缓存类型:
JQBaseRequestReturnCacheDataThenLoad = 0, ///< 有缓存就先返回缓存,同步请求数据
JQBaseRequestReloadIgnoringLocalCacheData, ///< 忽略缓存,重新请求
JQBaseRequestReturnCacheDataElseLoad, ///< 有缓存就用缓存,没有缓存就重新请求(用于数据不变时)
JQBaseRequestReturnCacheDataDontLoad, ///< 有缓存就用缓存,没有缓存就不发请求,当做请求出错处理(用于离线模式)
cerName: cer证书名称,设置则开启验证,默认不开启,若设置请确保名称正确,否则导致crash;
timeoutInterval: 请求超时设置 默认20s
CachTime: 设置缓存时间 默认时间一天
Parameters: 参数设置 字典传输
```
- startRequestWithSuccess: 请求函数,提供三个,如下:
```
/**
* 发送请求
*
* @param Success 成功的回调
* @param Progress 进度的回调
* @param Fail 请求错误的回调
*/
- (void)startRequestWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;
/**
* 上传文件
*
* @param Success 成功的回调
* @param Progress 进度的回调
* @param Fail 请求错误的
*/
- (void)uploadfileWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;
/**
* 下载文件
*
* @param Success 成功的回调
* @param Progress 进度的回调
* @param Fail 请求错误的
* @return 返回NSURLSessionDownloadTask实例,可用于暂停继续,暂停调用suspend方法,重新开启下载调用resume方法
*/
- (NSURLSessionDownloadTask *)downloadWithSuccess:(JQFileSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;
```
## Note

`progress:^(NSProgress *progress)`不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!
- 正确姿势:

## Other
[JQTumblrHud-高仿Tumblr App 加载指示器hud](https://github.com/xiaohange/JQTumblrHud)
[JQScrollNumberLabel:仿tumblr热度滚动数字条数](https://github.com/xiaohange/JQScrollNumberLabel)
[TumblrLikeAnimView-仿Tumblr点赞动画效果](https://github.com/xiaohange/TumblrLikeAnimView)
[JQMenuPopView-仿Tumblr弹出视图发音频、视频、图片、文字的视图](https://github.com/xiaohange/JQMenuPopView)
## Star
[CSDN博客](http://blog.csdn.net/qq_31810357)
iOS开发者交流群:①群:446310206 ②群:426087546 喜欢就❤️❤️❤️star一下吧!
Love is every every every star! Your support is my renewed motivation!
## License
This code is distributed under the terms and conditions of the [MIT license](LICENSE).