//首先先把AFN中的请求语句抽出来
#import <Foundation/Foundation.h>
@interface HttpNetworkTool : NSObject
/**
* get请求
*
* @param url 请求地址
* @param params 请求参数
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void(^)(id responseObj))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 responseObj))success failure:(void(^)(NSError *error))failure;
/**
* post请求(上传文件)
*
* @param url 请求地址
* @param params 请求参数
* @param fileData 文件参数
* @param success 成功回调
* @param failure 失败回调
*/
+ (void)post:(NSString *)url param:(NSDictionary *)param fileData:(NSDictionary *)fileData success:(void (^)(id responseObj))success failure:(void (^)(NSError *error))failure;
@end
//在.m文件中
#import "HttpNetworkTool.h"
#import "AFNetworking.h"
@implementation HttpNetworkTool
+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
// 创建管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 发送请求
[mgr GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
success(responseObject);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}
}];
}
+ (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
// 创建管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 发送请求
[mgr POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
success(responseObject);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
failure(error);
}
}];
}
+ (void)post:(NSString *)url param:(NSDictionary *)param fileData:(NSDictionary *)fileData success:(void (^)(id responseObj))success failure:(void (^)(NSError *error))failure
{
// 获取管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 发送请求
[mgr POST:url parameters:param constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileData:fileData[@"data"] name:fileData[@"name"] fileName:fileData[@"fileName"] mimeType:fileData[@"mimeType"]];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
success(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
failure(error);
}];
}
@end
然后自己再封装一层