錯誤信息如下
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '***+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'. *** First throw call stack
先說解決辦法
session.requestSerializer = [AFJSONRequestSerializer serializer];
只要這一段,并不需要設置content-type。我感覺是af自動會幫我們設置
session為
AFHTTPSessionManager *session = [AFAppDotNetAPIClient sharedManager];
要注意一下,傳的參數需要是NSDictionary,因為如果傳nsstring或者nsdata,afn在解析的時候就會出現沒有key值的問題,也就是一開始的錯誤
===============分割線================
解決過程我一開始用postman測試是發現Content-Type→application/json;charset=UTF-8
然后就一直設置如下這段
[session.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
加上之后就是一直報開頭的錯誤
一開始我以為是傳了jsonstring的關系,后來我換成了jsondata,還是不行,原因的話前面說了就是沒有key的話afn不能識別json類型。
最后就是改成NSDictionary,完美通過。
這個我往上沒有找到解決辦法,記一下