AFNetworking 2.0 网络请求封装使用

AFNetworking 2.0 网络请求封装使用

1.下载  AFNetworking ,导入项目中。。github 下载地址:https://github.com/AFNetworking/AFNetworking

2. 创建 NetWorkTool 类,继承于 NSObject

2.1 在 NetWorkTool.h 中 导入AFNetworking.h 头文件

NetWorkTool.h 中

#import <Foundation/Foundation.h>

#import "AFNetworking.h"


@interface NetWorkTool : NSObject


/**

 *  发送一个GET请求

 *

 *  @param url     请求路径

 *  @param params  请求参数

 *  @param success 请求成功回调,代码块中执行成功要做的操作

 *  @param failure 请求失败回调,代码块中执行失败要做的操作

 */

+(void)GET:(NSString *)url

    params:(NSDictionary *)params

    success:(void(^)(id responseObject))success

    failure:(void(^)(NSError *error))failure;


/**

 *  发送一个POST请求

 *

 *  @param url     请求路径

 *  @param params  请求参数

 *  @param success 请求成功回调,代码块中执行成功要做的操作

 *  @param failure 请求失败回调,代码块中执行失败要做的操作

 */

+(void)POST:(NSString *)url

    params:(NSDictionary *)params

    success:(void(^)(id responseObject))success

    failure:(void(^)(NSError *error))failure;


@end

2.2 在 NetWorkTool.m 中 实现get 和 post 类方法

NetWorkTool.m 中

#import "NetWorkTool.h"


@implementation NetWorkTool


+(void)GET:(NSString *)url

    params:(NSDictionary *)params

    success:(void(^)(id responseObject))success

    failure:(void(^)(NSError *error))failure

{

    AFHTTPRequestOperationManager *manager =    [[AFHTTPRequestOperationManager alloc]init];

    //设置请求超时

    manager.requestSerializer.timeoutInterval = 10.0f;

    //声明返回的结果是json 类型

    manager.responseSerializer = [AFJSONResponseSerializer serializer];

    //声明请求的数据是json 类型

    manager.requestSerializer = [AFJSONRequestSerializer serializer];

    //请求接收不一致,替换text/html 或别的

    manager.responseSerializer.acceptableContentTypes = [NSSet  setWithObjects:@"text/html", nil];

    [manager GET:url parameters:params success:^(AFHTTPRequestOperation     *operation, id responseObject) {

        //请求成功

        success(responseObject);


} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    //错误信息

    failure(error);

}];

}


+(void)POST:(NSString *)url

 params:(NSDictionary *)params

success:(void (^)(id))success

failure:(void (^)(NSError *))failure

{

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]init];

//设置请求超时

manager.requestSerializer.timeoutInterval = 10.0f;

//声明返回的结果是json 类型

manager.responseSerializer = [AFJSONResponseSerializer serializer];

//声明请求的数据是json 类型

manager.requestSerializer = [AFJSONRequestSerializer serializer];

//请求接收不一致,替换text/html 或别的

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", nil];

//普通的post 请求

[manager POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

    //请求成功

    success(responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    //错误信息

    failure(error);

}];

}

3. 调用

调用的时候,先导入 #import "NetWorkTool.h" 头文件


在需要做网络请求的地方直接调用


    [NetWorkTool GET:@"资源链接" params:nil success:^(id responseObject)        {


    //请求成功后内容


    } failure:^(NSError *error) {


    //请求失败后内容


    }];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值