对AFN网络请求进行封装,代码如下:
/************************* .h文件 *************************/
#import <Foundation/Foundation.h>
@interface HWManagerTool : NSObject
/**
* 发送一个POST请求
*
* @param url 请求路径
* @param params 请求参数
* @param success 请求成功后的回调
* @param failure 请求失败后的回调
*/
+ (void)postWithURL:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure;
/**
* 发送一个GET请求
*
* @param url 请求路径
* @param params 请求参数
* @param success 请求成功后的回调
* @param failure 请求失败后的回调
*/
+ (void)getWithURL:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure;
@end
/************************* .m文件 *************************/
#import "HWManagerTool.h"
#import "AFNetworking.h"
@implementation HWManagerTool
+ (void)postWithURL:(NSString *)url params:(NSDictionary *)params success:(void (^)(id))success failure:(void (^)(NSError *))failure
{
// 创建请求管理对象
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
session.responseSerializer = [AFJSONResponseSerializer serializer];
session.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
// 设置超时时间
[session.requestSerializer willChangeValueForKey:@"timeoutInterval"];
session.requestSerializer.timeoutInterval = 30.f;
[session.requestSerializer didChangeValueForKey:@"timeoutInterval"];
// 发送请求
[session POST:url parameters:params progress:^(NSProgress * _Nonnull uploadProgress) {
} succes