1

さて、0.20.xiにアップグレードする前は、私のクラスを次のようにルーティングしていました

[[RKObjectManager sharedManager].router routeClass:[Player class] toResourcePath:@"/player" forMethod:RKRequestMethodGET];
[[RKObjectManager sharedManager].router routeClass:[Player class] toResourcePath:@"/player" forMethod:RKRequestMethodPOST];
[[RKObjectManager sharedManager].router routeClass:[Player class] toResourcePath:@"/player" forMethod:RKRequestMethodPUT];
[[RKObjectManager sharedManager].router routeClass:[Player class] toResourcePath:@"/players" forMethod:RKRequestMethodDELETE];

[[RKObjectManager sharedManager].router routeClass:[WTFGameInfo class] toResourcePath:@"/game"forMethod:RKRequestMethodGET];
[[RKObjectManager sharedManager].router routeClass:[WTFGameInfo class] toResourcePath:@"/game" forMethod:RKRequestMethodPOST];
[[RKObjectManager sharedManager].router routeClass:[WTFGameInfo class] toResourcePath:@"/game/:gameID" forMethod:RKRequestMethodPUT];
[[RKObjectManager sharedManager].router routeClass:[WTFGameInfo class] toResourcePath:@"/games" forMethod:RKRequestMethodDELETE];

ただし、PathPatterns を使用するように少し変更されたので、リソース パスの文字列をまったく同じままにするか、次のように変更する必要があるかどうか疑問に思っています。

[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"/player/:_id" method:RKRequestMethodGET]];//posibly do it for _fbID;
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"/player/:_id" method:RKRequestMethodPOST]];//posibly do it for _fbID;
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"/player/:_id" method:RKRequestMethodPUT]];//posibly do it for _fbID;

[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[WTFGameInfo class] pathPattern:@"/game/:_id" method:RKRequestMethodGET]];//posibly do it for @"/game/:gameID";
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[WTFGameInfo class] pathPattern:@"/game/:_id" method:RKRequestMethodPOST]];//posibly do it for @"/game/:gameID";
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[WTFGameInfo class] pathPattern:@"/game/:_id" method:RKRequestMethodPUT]];//posibly do it for @"/game/:gameID";

誰かが私のためにこれを明確にすることができますか? ありがとう...

4

1 に答える 1

1

これは結構です:

[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"player/:playerId" method:RKRequestMethodGET]];

プレーヤーを取得するには、次のようにします。

Player *player = [Player new];
player.playerID = 2;
[[RKObjectManager sharedManager] getObject:player path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
    // Request 
} failure:nil];
于 2012-12-17T18:37:06.773 に答える