過去に、すべての RKResponseDescriptor とすべての RKObjectManager の get/post/patch/delete メソッドにパス パラメーターを指定しました。これは機能しますが、これを行うには RKRouter がより優れた、よりモジュール化された方法のようです。
ネストされた変数を含む動的ルートの設定に問題があります。例えば:
ルートの追加
RKRoute *locationsRoute = [RKRoute routeWithClass:[Location class] pathPattern:@"users/:userID/locations/:locationID" method:RKRequestMethodAny];
[[RKObjectManager sharedManager].router.routeSet addRoutes:@[locationsRoute]];
応答記述子の設定
RKResponseDescriptor *locationResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:locationResponseMapping
method:RKRequestMethodAny
pathPattern:nil
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
オブジェクト マネージャー呼び出しの実行
[[RKObjectManager sharedManager] getObject:[Location class] path:nil parameters:nil success:nil failure:nil];
ルーターを使用する前に、オブジェクト マネージャーの呼び出しパスにユーザー ID を含めます。(のように: path:[NSString stringWithFormat:@"users/%@/locations/%@", [self getCurrentUser].userID, location.locationID]
)。ただし、ルーターを使用する場合、それを指定する方法がわかりません。これを行う正しい方法は何ですか?ユーザー ID をルート パスにハード コードする必要がないことを願っています。
すべてのマッピングが適切に設定されていることに注意することが重要です。ルートを実装する前に、すべてが問題なく機能していました。どんな助けでも大歓迎です!