AFNetworking简单封装

来源:互联网 发布:淘宝客服电话是五视频 编辑:程序博客网 时间:2024/06/05 19:25

一、简单的get请求

#pragma mark--简单get请求+(void)GetData:(NSString *)string block:(myblock)block error:(errorBlock)errorBlock{        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];        manager.responseSerializer = [AFHTTPResponseSerializer serializer];        [manager GET:string parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {                NSDictionary *obj = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];        block(obj);            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {        errorBlock(error);    }];}
二、简单post请求

#pragma mark--简单post请求+ (void)PostDataUrl:(NSString *)string body:(NSDictionary *)body block:(myblock)block error:(errorBlock)errorBlock{            AFHTTPSessionManager *manager = [self getManager];        [manager POST:string parameters:body progress:^(NSProgress * _Nonnull uploadProgress) {            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {         block(responseObject);    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {         errorBlock(error);    }];    }
三、图片上传

#pragma mark--上传图片+(void)UploadPhotoPath:(NSString *)path data:(NSData *)data block:(myblock)block error:(errorBlock)errorBlock{        AFHTTPSessionManager *manager = [self getManager];        [manager POST:path parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {                [formData appendPartWithFileData:data name:@"file" fileName:@"icon.png" mimeType:@""];            } progress:^(NSProgress * _Nonnull uploadProgress) {            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {                block(responseObject);            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {        errorBlock(error);    }];}
四、请求头的封装

+(AFHTTPSessionManager *)getManager{        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];        //申明返回的结果是json类型    manager.responseSerializer = [AFJSONResponseSerializer serializer];        //申明请求的数据是json类型    manager.requestSerializer= [AFJSONRequestSerializer serializer];        //如果报接受类型不一致请替换一致text/html或别的    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];        return manager;}



0 0
原创粉丝点击