我正在使用firefox工具“海报”来检查我的web服务是否有效。当我发布请求时,我在要发送的内容中发送一个JSON对象(也调用HTTP体数据)。
当我按POST按钮时,结果很好。

现在,我想对目标-c中的RestKit进行完全相同的操作:
NSString *squery = @"{\"Sort\":\"Relevance\",\"DaysToSearch\":0,\"WorkType\":\"\",\"PageSize\":20,\"LastRunCount\":0,\"IndustryCodes\":[\"\"],\"AccountId\":27,\"Experience\":\"\",\"GetResultCount\":0,\"Keywords\":\"iOS\",\"PageIndex\":0,\"DistanceFromLocation\":\"250\",\"SalaryType\":\"\",\"JobQueryId\":\"\",\"JobTitleCodes\":[\"\"]}";
RKObjectLoader *objectLoader = [[RKObjectManager sharedManager] objectLoaderWithResourcePath:url delegate:performJobQueryHandler];
objectLoader.method = RKRequestMethodPOST;
objectLoader.objectMapping = s.jobQueryDataMapper;
objectLoader.HTTPBody = [squery dataUsingEncoding:NSUTF8StringEncoding];
objectLoader.serializationMIMEType = RKMIMETypeJSON;
[objectLoader send];因此,我得到了:“一个非故障异常发生了.”
在FireFox扩展“海报”中,如果我使用与"application/json“不同的地雷类型,那么假设"application/x-www-form-urlencoded”我得到了相同的错误:“发生了非故障异常。”
objectLoader.serializationMIMEType = RKMIMETypeJSON;??有什么问题吗?
马加基安
发布于 2012-02-14 01:00:24
好吧我想我知道了。
我激活了RestKit调试
RKLogConfigureByName("RestKit/Network",RKLogLevelTrace);
我得到了:
2012-02-14 11:55:48 [4048:207] T restkit.network:RKRequest.m:318 Prepared POST URLRequest '<NSMutableURLRequest http://servicestest.foo.com/jobservice/jobservice.svc/json/jobquery>'. HTTP Headers: {
Accept = "application/json";
"Content-Type" = "application/x-www-form-urlencoded";
}. HTTP Body: Sort=Relevance&DaysToSearch=0&WorkType=&SalaryType=&LastRunCount=0&IndustryCodes[]=&Experience=&AccountId=0&GetResultCount=0&PageIndex=0&DistanceFromLocation=250&PageSize=20&JobQueryId=&JobTitleCodes[]=.所以我认为使用RKObjectLoader对象并不关心objectLoader.serializationMIMEType = RKMIMETypeJSON;因为内容类型仍然是“Content”=“application/x form-urlencoded”;而不是“Content”= "application/json";
你觉得是虫子还是正常的行为?
https://stackoverflow.com/questions/9256732
复制相似问题