1.重复Key数据进行请求,如@{@""name":@"1",@"name",@"2",@"name":@"3"};如果直接用字典作为网络请求参数,根据字典的特性,相同Key合并,只会显示最后一个key及value。为解决这个问题,最简单的一个方法就是使用Get请求,毕竟字符串没相同key的校验。
iOS在7.0以后新增了一个NSURLComponents,它可以管理URL,可以设置scheme,可以设置校验账号、密码,可以设置端口,总之是很强大。NSURLComponents有一个强大的属性queryItems(ios8.0以后可用),可以设置相同的key。
例:NSURLQueryItem *item = [NSURLQueryItem queryItemWithName:@"account" value:@"1"];
NSURLQueryItem *item1 = [NSURLQueryItem queryItemWithName:@"account" value:@"2"];
NSURLQueryItem *item2 = [NSURLQueryItem queryItemWithName:@"password" value:@"3"];
初始化URL:NSURLComponents *components = [[NSURLComponents alloc] initWithString:@"http://192.168.7.88:8080/testPostArrRequest"];
将NSURLQueryItem对象添加到NSURLComponents:components.queryItems=@[item,item1,item2];
获取URL:components.URL。
根据上面的属性,我们可以写一个简单的网络请求:
附一个简单的AFNetWorking请求吧,毕竟大部分人都是用的AFNetWorking。