RestKit:如何使用路由发布对象?

Posted

技术标签:

【中文标题】RestKit:如何使用路由发布对象?【英文标题】:RestKit: how to POST objects using routes? 【发布时间】:2013-09-18 12:58:08 【问题描述】:

RKObjectManager documentation 展示了如何构造这条路线

[manager.router.routeSet addRoute:[RKRoute routeWithName:@"follow_user" pathPattern:@"/users/:userID/follow" method:RKRequestMethodPOST]];
我需要先发出请求才能设置一些标头。 我需要提供我要发布的对象。 我需要指定一个字典,其中包含要在路由的路径模式中匹配的用户 ID

如何使用该路由发出 url 请求以发布对象?

编辑:

requestWithPathForRouteNamed:object:parameters: 不允许我提供要发布的对象。 requestWithObject:method:path:parameters: 不允许我提供包含要在路由的路径模式中匹配的 userID 的字典

实际上我需要类似的东西:

- (NSMutableURLRequest *) requestWithObject:(id)objectToSend
                              forRouteNamed:(NSString *)routeName
                            routeParameters:(NSDictionary *)routeParameters;

【问题讨论】:

【参考方案1】:

http://restkit.org/api/latest/Classes/RKObjectManager.html#//api/name/requestWithPathForRouteNamed:object:parameters:

使用描述的 API。您可以使用此 API 设置标头

http://brianflove.com/2012/09/27/setting-custom-http-request-headers-with-restkit/

【讨论】:

此链接指的是一篇使用旧版本的已弃用 RestKit 的文章 这些文档适用于 RestKit 的最新发布版本(只是不是开发版本)。 requestWithPathForRouteNamed:object:parameters: 是正确的方法。它具有objectparameters 的参数。我不明白你的问题是@jafar brianlove 文章使用的是旧版本的 RestKit。确实不是文档,对不起。文档说该方法“对象:用于插入命名路由的路径模式的对象。可以为零。”不是要发送的对象吧? @Wain 如果我使用“参数:”来发布一个对象,那么我是否必须自己将其转换为字典,或者有没有办法不用?

以上是关于RestKit:如何使用路由发布对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 restkit 忽略已发布对象上的空属性

如何使用 RestKit 删除对象?

如何使用 RestKit 加载多个不相关的对象?

如何打印 Restkit (IOS) 发送的正文

最佳 RestKit 设置

如何使用 RestKit 测试这个对象映射