1

ルートを追加しようとしていますが、「既存のルートと同じクラスとメソッドを持つルートを追加できません」というメッセージが表示されます。

Post の同じルート メソッドを持つ Thing クラスがありますが、もちろんメソッドは異なります。アプリを実行しようとすると、上記のエラーが発生します。一般的な方法でルートを設定する方法はありますか?

[objectManager.router.routeSet addRoute:[RKRoute routeWithClass:[Thing class]
                                                    pathPattern:@"v1/things/update_location.json.json" method:RKRequestMethodPOST]];

[objectManager.router.routeSet addRoute:[RKRoute routeWithClass:[Thing class]
                                                    pathPattern:@"v1/things.json" method:RKRequestMethodPOST]];

上記は、同じクラス「Thing」を使用し、メソッドが同じであるため、Restkit によると重複していますか? 何を与える?

4

2 に答える 2

2

コードで誰でも役立つ場合は、名前でルートを設定する方法を次に示します。

// When you are setting up your mapping, set up Route with Name.
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:userMapping
                                                                                            method:RKRequestMethodGET
                                                                                       pathPattern:LOGIN_URL
                                                                                           keyPath:nil
                                                                                       statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithName:LOGIN_ROUTE pathPattern:LOGIN_URL method:RKRequestMethodGET]];
[[RKObjectManager sharedManager] addResponseDescriptor:responseDescriptor];


// And when you are ready to make the http call, do the following
[[RKObjectManager sharedManager] getObjectsAtPathForRouteNamed:LOGIN_ROUTE
                                                        object:userProfile
                                                    parameters:params
                                                       success:success
                                                       failure:failure];
于 2014-04-10T18:15:36.670 に答える
1

ルーターは、オブジェクト (Thingこの場合は のインスタンス) が与えられたときにリクエストを構築するために使用されます。これが機能するためには、RestKit にオブジェクトを投稿するように依頼したときに何をすべきかという 1 つのオプションしかありません。その他のルートは、ルーティング セットの一意性を維持するために、名前付きルートまたは関係ルートの観点から説明する必要があります。

ここでドキュメントを確認できます。「ルート生成」セクションで、ルーターを定義するための 3 つの方法すべてについて説明しています (現在、方法 2 のみを使用しています)。ほとんどの場合、各アップロードで達成しようとしていることの違いを説明する名前付きルートを定義したいと思うでしょう。

于 2013-04-21T23:07:24.000 に答える