反序列化数据格式的问题 切记不要私自修改原框架的东西 当升级的时候 你是保留还是删除
self.acceptableContentTypes = [NSSetsetWithObjects:@"application/json", @"text/json", @"text/javascript”, @"text/plain",nil];
这样在后面加上之后会会是不明智的做法,你可以去gitHub上建一个分支,然后提交给原作者,等待审核,要是通过你就为框架做出了贡献
一般我们就直接用代码加就可以了
tools.responseSerializer.acceptableContentTypes?.insert("text/plain")
写简历的时候你可以写为某个框架做出贡献 比如 位AFNetworking增加反序列化类型,节省了代码的添加 text/html
数据格式匹配bug提示1 添加text/plain类型
Optional(Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/plain"
加载网络请求bug 403禁止访问 你的主管理账号没有添加关联测试账号
Optional(Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: forbidden (403)"
加载网络请求bug3 属性命名错误
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)"
测试接口文档数据类型
坑1 不是所有的接口文档都正确 需要你的判断和验证 这个bug是属性类型不匹配
2015-12-08 14:49:13.792 微博01[6097:154105] -[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000001fcc73
2015-12-08 14:49:13.805 微博01[6097:154105] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000001fcc73'
{ "access_token": "ACCESS_TOKEN", "expires_in": 1234, "remind_in":"798114", "uid":"12341234"
}
这个是新浪给我的返回数据样本 很显然 expires_in的数据类型为NSNumber 修改如下
//基本数据类型要给一个初始值
var expires_in : NSTimeInterval = 0
但是返回字段的说明里面写的全是string以下介绍一种自己判断返回数据类型的方法 就是二进制数据格式返回