Mapper les parameters d'URL aux objects à l'aide de RESTKit

est-il un moyen de cartographier les parameters dans une URL pour les résultats?

J'ai un service de repos où l'user peut searchr quelque chose par son identifiant. Le path est search/:id Les résultats contiennent le nom et d'autres propriétés mais pas l'ID.

Je pourrais faire quelque chose comme ça:

 NSArray *array = mappingResult.array; for (Item *item in array) { [item setId:itemID]; } 

mais j'espère qu'il y a une meilleure façon …

Merci pour tous les conseils
Xean

Vous souhaitez utiliser le model de path que vous spécifiez dans votre descripteur de réponse. Ensuite, vous souhaitez utiliser le routing ( RKRoute ) et les métadonnées lors de votre mappage. Les métadonnées include une section de routing qui donne access aux parameters extraits du path de l'URL.

Quelques infos sur les métadonnées ici (les docs font un peu défaut).

Dans votre cartographie, vous voulez utiliser:

 @metadata.routing.parameters.id 

En tant que path de key de la source de mappage.


Pour que le routing fonctionne, vous devez append l'itinéraire à votre gestionnaire d'objects:

 [manager.router.routeSet addRoute:... 

Et puis vous devez faire la request d'une manière qui signifie que la route est utilisée, comme getObjectsAtPathForRouteNamed:object:parameters:success:failure:

Vous devez probablement spécifier pathPattern et keyPath de votre descripteur de réponse :

 RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:itemMapping method:RKRequestMethodAny pathPattern:@"search/:id" keyPath:@"item" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];