2014-03-03 161 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