专栏名称: Goyakod
iOS工程师
目录
相关文章推荐
兴证资产管理  ·  兴证资管 | 每周市场观点 ·  昨天  
饕餮海投资  ·  下修还有机会吗? ·  昨天  
并购优塾产业链地图  ·  【研讨会】3月14-16日,并购六条重大机遇 ... ·  3 天前  
ETF和LOF圈  ·  内战导致钴价上涨? ·  3 天前  
嗨滨海  ·  滨海新区任免一批干部 ·  3 天前  
51好读  ›  专栏  ›  Goyakod

AFNetworking2.0

Goyakod  · 掘金  ·  · 2017-12-17 08:56

正文

日常需要的请求类型也就那么几种:GET, POST, PUT, DELETE,现在有点时间,整理一下,贴出了。

一、GET

相对简单的一种.

AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];

[manager GET:USER_CLASS parameters:nilsuccess:^(AFHTTPRequestOperation*operation,idresponseObject) {

NSDictionary* resultDic = [NSJSONSerialization JSONObjectWithData:operation.responseDataoptions:NSJSONReadingMutableContainers error:nil];

NSArray* totalArray = [resultDic objectForKey:@"user_groups"];

if(totalArray != (id)[NSNull  null]) {

for(NSDictionary*tmpDic in totalArray) {

GroupModel* groupModel = [[GroupModel alloc]init];

[groupModel setValuesForKeysWithDictionary:tmpDic];

[groupModel setValue:[tmpDicobjectForKey:@"Id"] forKey:@"GroupId"];

[_classArray addObject:groupModel];

}

[self.classessTableView reloadData];

}

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

NSLog(@"get user class failure");

}];

二、POST

AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];

manager.requestSerializer= [AFJSONRequestSerializer serializer];//请求头

[manager.requestSerializer setValue:[[NSUserDefaults standardUserDefaults]objectForKey:@"token"]forHTTPHeaderField:@"X-XSRFToken"];//token

NSMutableDictionary* parameters = [[NSMutableDictionary alloc]init];//参数

[parameters setValue:self.taskId forKey:@"TaskId"];

[parameters setValue:charactorId forKey:@"CharacterId"];

[parameters setValue:@"1" forKey:@"Type"];

[manager POST:TASK_METAS parameters:parameterssuccess:^(AFHTTPRequestOperation*operation,idresponseObject) {

NSLog(@"成功");

NSDictionary*resultDic = [NSJSONSerialization JSONObjectWithData:operation.responseData options:NSJSONReadingMutableContainers error:nil];

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

NSLog(@"失败");

}];

三、PUT

AFHTTPRequestOperationManager*manager = [AFHTTPRequestOperationManagermanager];

manager.requestSerializer= [AFJSONRequestSerializerserializer];

[manager.requestSerializersetValue:[[NSUserDefaultsstandardUserDefaults]objectForKey:@"token"]forHTTPHeaderField:@"X-XSRFToken"];

[managerPUT:pathparameters:parameterssuccess:^(AFHTTPRequestOperation*operation,idresponseObject) {

NSLog(@"PUT成功");

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

NSLog(@"PUT Name失败");

NSLog(@"%@",[errordescription]);

}];

四、DELETE

AFHTTPRequestOperationManager*manager = [AFHTTPRequestOperationManagermanager];

[manager.requestSerializersetValue:[[NSUserDefaultsstandardUserDefaults]objectForKey:@"token"]forHTTPHeaderField:@"X-XSRFToken"];

[managerDELETE:pathparameters:nilsuccess:^(AFHTTPRequestOperation*operation,idresponseObject) {

NSLog(@"删除成功");

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

NSLog(@"ERROR %@ ",[errordescription]);

NSLog(@"删除失败");

}];

另外:

上传:其实就是POST

AFHTTPRequestOperationManager*manager = [AFHTTPRequestOperationManagermanager];

[manager.requestSerializersetValue:[[NSUserDefaultsstandardUserDefaults]objectForKey:@"token"]forHTTPHeaderField:@"X-XSRFToken"];

NSString*path = [NSStringstringWithFormat:UPLOAD,@"zzz",@"xxx",@"wav"];

[managerPOST:pathparameters:nilconstructingBodyWithBlock:^(id formData) {

NSString*path = [NSHomeDirectory()stringByAppendingPathComponent:[NSStringstringWithFormat:@"Documents/%@/myRecord.wav",self.missionId]];

NSData*data = [NSDatadataWithContentsOfFile:path];

[formData appendPartWithFileData:dataname:@"thefile"fileName:@"myRecord.wav"mimeType:@"audio/wav"];

}success:^(AFHTTPRequestOperation*operation,idresponseObject) {







请到「今天看啥」查看全文