在AFNetworking文件夹里面的AFURLRequestSerialization.m文件里面第500行左右
AFNetWorking默认发送的参数数据结构是表单结构(form-data)格式,而我服务器要支持的content-type为application/json格式
NSString*query =nil;
if(parameters) {
if (self.queryStringSerialization) {
NSError*serializationError;
query =self.queryStringSerialization(request, parameters, &serializationError);
if(serializationError) {
if(error) {
*error = serializationError;
}
returnnil;
}
}else{
switch (self.queryStringSerializationStyle) {
case AFHTTPRequestQueryStringDefaultStyle:
// query =AFQueryStringFromParameters(parameters);
//就是这一句代码惹的祸 在AFNetworkingGitHub
//这里可以修改成这样
NSData*postData = [NSJSONSerialization dataWithJSONObject:parameters options:0error:nil];
[mutableRequest setHTTPBody:postData];
break;
}
}
}
或者是如果不愿意修改AFNetworking的代码的话 可以推荐用系统原生的请求
将请求头设置成 application/json 就可以了 = = 亲测可用
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];