• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 使用 restkit 发送 HTTPBody 数据

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:34:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题


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

现在我想对 RestKit 做同样的事情在objective-c中:

    NSString *squery = @"{\"Sort\":\"Relevance\",\"DaysToSearch\":0,\"WorkType\":\"\",\"ageSize\":20,\"LastRunCount\":0,\"IndustryCodes\":[\"\"],\"AccountId\":27,\"Experience\":\"\",\"GetResultCount\":0,\"Keywords\":\"iOS\",\"ageIndex\":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; 有问题吗? ???

马丁·马加基安



Best Answer-推荐答案


好吧,我想我知道了。

我用

激活了 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&ageIndex=0&DistanceFromLocation=250&ageSize=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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap