2014-03-03 164 views
0

我使用RestKit 0.20调用端点。这个端点需要一个持有签名的参数,作为一种验证。该签名取决于请求参数:例如,如果我们想发送{"foo": 1, "bar": 2},那么签名计算为hash("somesecretfoo1bar2"),然后应将其添加到有效负载中,使其最终像{"foo": 1, "bar": 2, "sig": "oursignature"}一样。在映射后将值添加到RestKit映射结果字典

我不确定用RestKit实现这个最好的方法是什么。我可以将它与每个单独的请求描述挂钩,但由于每个请求的处理过程都是相同的,因此我想在映射完成后将其挂接到请求操作中。

我该怎么做?

我看着超载RKObjectRequestOperation,但看不清楚在哪里放这个,然后我是否仍然可以使用RKObjectManagerappropriateObjectRequestOperationWithObject

回答

0

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

试图修改RestKit类应该更容易,更易于维护。

一种替代,和而不是试图子类RKObjectRequestOperation,将子类RKNSJSONSerialization并设置子类为串行器对对象管理器([RKMIMETypeSerialization registerClass:forMIMEType:])的使用。

然后,您可以执行dataFromObject:error:来变异object传递,处理内容并添加新的键/值对,然后致电super

+0

这会好得多耶。不幸的是,这些类不知道它们将始终映射到哪些键,并且并非所有键都始终使用,所以我认为我不能这样做。 – sgvd