AFNetworking打印输出服务器返回的错误信息
请求接口时不可避免的会出现一些问题,而正常返回的error数据都是data类型,并不能直观的看出是什么错误信息,给接口的调试增加了难度。记得老版本是可以打印出错误信息的,经过一番查找发现这个可以转变为NSString类型,方法如下:
1、找到AF的AFURLResponseSerialization.m文件在大约第30行处添加代码
#ifdef DEBUG
NSString * const AFNetworkingOperationFailingURLResponseStringErrorKey = @"com.alamofire.serialization.response.error.string";
#endif
见下图
2、再找到(共两处)
mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data;
并在下面添加代码
#ifdef DEBUG
mutableUserInfo[AFNetworkingOperationFailingURLResponseStringErrorKey] = [[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding];
#endif
见下图
3、使用
在AF请求的错误回调块中(failure)取出error的userInfo,再从userInfo中取出key为@"com.alamofire.serialization.response.error.string"的值即可