昨天在测试接口时 出现code=-1016错误unacceptable content-type: application/xml"
Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: application/xml" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x608000223260>
在网上找了好久都没有这个问题的解决方法,然后花了一上午时间 解决了这个问题
问题描述:
在调试接口时,AF接收 的content type类型
manager.responseSerializer.acceptableContentTypes=[NSSetsetWithObjects:@"text/html",@"text/plain",@"text/xml", @"application/json",@"text/css",nil];
后台给的数据也是@"application/json"格式的,但是用AF请求后显示
显示的是问题是 无法接收content-type 为application/xml的类型
原因描述:
AF无法接收content-type 为application/xml的类型的数据。导致请求失败
需求描述:
在不影响后台大的改动情况下解决请求问题。
解决方案:
开始尝试在AF中添加content-type 为application/xml的类型
[manager.requestSerializer setValue:@"application/xml"forHTTPHeaderField:@"Content-Type"];
但是结果还是一样的。
虽然只是加了这个类型 但是后台那边还是json数据 所以还得加上这一句
[manager.requestSerializer setValue:@"application/json"forHTTPHeaderField:@"Accept"];
问题完美解决。