3

ID が 1 ののusers/1/itemsリストを返すAPI があるとします。itemsuser

API 応答が次のようになっているとします。

{
    "items": [
        {
            "id": "1",
            "description": "Some item"
        }
    ]
}

user_id応答にはfor 関係マッピングが含まれていないことに注意してください。RestKit 0.20 でuser_idURL (この場合は 1) にマップすることは可能ですか? もしそうなら、どのように?docs/wiki でこれについての言及を見つけることができませんでした。

4

2 に答える 2

5

です。クラスを使用する必要がRKRouterあります (通常は で使用しますRKObjectManager)。ルーティングとパス パターンを使用すると、マッピング定義でルーティング メタデータを使用できます。

RKRouterドキュメント

ルーティング構成例

メタデータの使用方法(「メタデータ マッピング」セクション)

追加のメタデータ情報

于 2013-06-26T16:28:21.353 に答える
1

実際には、RestKit が呼び出すものを使用してこれを実現しますRelationship Routes

以下に短い例を示します。

RKRoute *aRoute = [RKRoute routeWithRelationshipName:@"user-items-relationship"
                              objectClass:User.class
                              pathPattern:@"users/:userid/items"
                                   method:RKRequestMethodGET];

次に、次のようなアイテムを取得します。

[[RKObjectManager sharedManager] getObjectsAtPathForRelationship:@"user-items-relationship"
                                                        ofObject:someUser
                                                      parameters:nil
                                                         success:^(RKObjectRequestOperation *operation, RKMappingResult *result)
 {
     NSLog("I win");
 }
                                                         failure:^(RKObjectRequestOperation *operation, NSError *error)
 {
     NSLog("I lose");         
 }];
于 2014-03-06T22:20:23.413 に答える