gpt4 book ai didi

iphone - 使用 restkit 发送 HTTPBody 数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:17:11 35 4
gpt4 key购买 nike


我正在使用名为“Poster”的 Firefox 工具来检查我的 Web 服务是否正常工作。当我发布请求时,我在要发送的内容中发送一个 JSON 对象(也调用 HTTP body data )。
当我按下 POST 按钮时,结果很好。 enter image description here

现在我想对 RestKit 做同样的事情在 Objective-C 中:

    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 扩展“Poster”中,如果我使用与“application/json”不同的我的类型,比如说“application/x-www-form-urlencoded”,我会得到同样的错误:“发生非故障异常。 “
objectLoader.serializationMIMEType = RKMIMETypeJSON; 有问题吗? ???

马丁·马加基安

最佳答案

好吧,我想我知道了。

我用

激活了 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-Type 仍然是 "Content-Type"= "application/x-www-form-urlencoded";而不是 "Content-Type"= "application/json";

您认为这是错误还是正常行为?

关于iphone - 使用 restkit 发送 HTTPBody 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256732/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com