AFnetWorking的一个bug
来源:互联网 发布:windows键没反应 win10 编辑:程序博客网 时间:2024/06/03 19:18
项目发送json表单到服务器,接收不了,而用Postman可以。。
原因是:
AFnetWorking默认发送的参数数据结构是表单结构(form-data)格式,而我服务器要支持的content-type为application/json,所以修改了其中一个方法(目前没发现其他解决方案)
"AFURLRequestSerialization.m"文件中466行
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request withParameters:(id)parameters error:(NSError *__autoreleasing *)error{ NSParameterAssert(request); NSMutableURLRequest *mutableRequest = [request mutableCopy]; [self.HTTPRequestHeaders enumerateKeysAndObjectsUsingBlock:^(id field, id value, BOOL * __unused stop) { if (![request valueForHTTPHeaderField:field]) { [mutableRequest setValue:value forHTTPHeaderField:field]; } }]; NSString *query = nil; if (parameters) { if (self.queryStringSerialization) { NSError *serializationError; query = self.queryStringSerialization(request, parameters, &serializationError); if (serializationError) { if (error) { *error = serializationError; } return nil; } } else { switch (self.queryStringSerializationStyle) { case AFHTTPRequestQueryStringDefaultStyle: query = AFQueryStringFromParameters(parameters); break; } } } if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) { if (query && query.length > 0) { mutableRequest.URL = [NSURL URLWithString:[[mutableRequest.URL absoluteString] stringByAppendingFormat:mutableRequest.URL.query ? @"&%@" : @"?%@", query]]; } } else { // #2864: an empty string is a valid x-www-form-urlencoded payload if (!query) { query = @""; } if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) { [mutableRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [mutableRequest setHTTPBody:[query dataUsingEncoding:self.stringEncoding]]; }else{#warning /** * yyc修改: */ NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil]; [mutableRequest setHTTPBody:postData]; } } return mutableRequest;}
0 0
- AFnetWorking的一个bug
- 关于AFNetworking中header的bug问题
- 关于AFNetworking 安全bug
- AFNetworking 修复的bug [NSMutableDictionary dictionaryWithDictionary:] 和 mutableCopy 的区别
- AFNetworking 3.0 POST请求的一个坑
- 微软的一个bug?
- OracleParameter 的一个bug
- FireFox的一个bug
- 微软的一个BUG
- Tencent 的一个Bug
- 一个ComboBox的Bug
- WindowsXP的一个Bug
- QQ的一个BUG
- JCreator的一个BUG
- Word2007的一个bug
- hibernate3的一个bug
- ICTCLAS的一个bug
- CMonthCalCtrl的一个BUG
- tesseract-ocr 实现图片识别功能
- linux下UDP客户端通用发送与接受
- Struts2—拦截器之计算action调用时间
- 删除数字vba
- 最清晰的Android多屏幕适配方案
- AFnetWorking的一个bug
- C++编程入门系列之四十九(多态性:纯虚函数和抽象类)
- HTTP缓存
- 图像的载入、显示和输出示例
- 关于Template
- mysql-5.7.16-winx64.zip安装教程
- 整型和字符串判断
- NDK-CPP语言-queue队列+stack栈+list+set+map
- C/C++中读取文件判断是否读取结束