iOS AFN网络请求 服务器nginx框架遇到的问题
1、网络请求request content-type 设置问题
一般服务器设置为 application/json 或 text/json AFN请求若使用 AFHTTPRequestOperationManager 底层会自动加上content-type,但不保险,有时还是需要手动设置一遍:
[rom.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
2、response 的content-type 设置
rom.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json",@"text/json",@"text/html",@"application/x-www-form-urlencoded",@"text/javascript", nil];
设置多少项,看你需求
3、网络交互使用json object问题,一般表现为服务器得不到请求参数或客户端得不到response
报错为:
error:Error Domain=com.alamofire.error.serialization.response Code=-1011 “Request failed: unacceptable (406)
一般AFN使用的request和response序列类型为
AFHTTPResponseSerializer 和 AFHTTPRequestSerializer
但是也要看服务器的框架,有些是直接封装使用jsonobject交互,所以改为
rom.responseSerializer = [AFJSONResponseSerializer serializer];
rom.requestSerializer=[AFJSONRequestSerializer serializer];
补充:request success返回的id responseObject 就是 object一般为 NSDictionary