映射后向RestKit映射结果字典添加值

时间:2014-03-03 14:37:17

标签: ios objective-c restkit restkit-0.20

我使用RestKit 0.20来调用端点。此端点需要一个包含签名的参数,作为一种验证。此签名取决于请求参数:例如,如果我们要发送{"foo": 1, "bar": 2},则签名计算为hash("somesecretfoo1bar2"),然后应将其添加到有效负载中,使其最终类似于{{ 1}}。

我不确定使用RestKit实现这一目标的最佳方法是什么。我可以将它挂钩到每个单独的请求描述中,但由于每个请求都是相同的进程,因此我希望在映射完成后将其挂钩到请求操作中。

我该怎么做?

我查看了重载{"foo": 1, "bar": 2, "sig": "oursignature"},但无法确切地知道这个位置,以及我是否仍然可以使用RKObjectRequestOperation的{​​{1}}。

1 个答案:

答案 0 :(得分:0)

我会考虑修改您的数据模型类,可能使用一个共同的超类,以便您可以在映射中使用- (NSString *)sig方法。此方法可以收集将要发送的所有键和值(可能使用dictionaryWithValuesForKeys:)。

尝试修改RestKit类时,这应该更容易,更易于维护。

替代方法,而不是尝试子类RKObjectRequestOperation,将子类RKNSJSONSerialization并将子类设置为在对象管理器([RKMIMETypeSerialization registerClass:forMIMEType:])上使用的序列化器。

然后,您可以实施dataFromObject:error:来改变传递的object,处理内容并添加新的键/值对,然后调用super