URLのパラメータを結果にマップする方法はありますか?RESTKitを使用してURLパラメータをオブジェクトにマップする
私はユーザーがIDで何かを検索できる休憩サービスを手に入れました。パスはsearch/:id
です。結果には名前とその他のプロパティが含まれていますが、IDは含まれていません。あなたはおそらく指定する必要が
Xean
URLのパラメータを結果にマップする方法はありますか?RESTKitを使用してURLパラメータをオブジェクトにマップする
私はユーザーがIDで何かを検索できる休憩サービスを手に入れました。パスはsearch/:id
です。結果には名前とその他のプロパティが含まれていますが、IDは含まれていません。あなたはおそらく指定する必要が
Xean
応答デスクリプタで指定するパスパターンを使用します。次に、マッピング中にルーティング(RKRoute
)とメタデータを使用します。メタデータは、URLパスから抽出されたパラメータへのアクセスを与えるルーティングセクションを含む。
メタデータに関する情報がhere(少し不足しています)。
使用したいあなたのマッピングで:
@metadata.routing.parameters.id
マッピングソースキーパスとして。
[manager.router.routeSet addRoute:...
そしてあなたはgetObjectsAtPathForRouteNamed:object:parameters:success:failure:
のように、ルートが使用されている意味な方法でリクエストを行う必要があります。あなたがオブジェクトマネージャにルートを追加する必要がある作業をルーティングするようにするに
。
任意のヒントについて
NSArray *array = mappingResult.array;
for (Item *item in array) {
[item setId:itemID];
}
が、私はよりよい方法がある願っています...
ありがとう:
私はこのような何かを行うことができますpathPattern
とkeyPath
の応答記述子 ::
RKResponseDescriptor *responseDescriptor =
[RKResponseDescriptor
responseDescriptorWithMapping:itemMapping
method:RKRequestMethodAny
pathPattern:@"search/:id"
keyPath:@"item"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
これは正しい方法です。私の問題は '@ metadata.routing'が存在しないことです。 – Obenland
あなたは 'RKRoute'を使用していますか?より多くの助けを得るためにあなたのマッピング、レスポンスデスクリプタ、ルート設定を表示する必要があります。 – Wain
私のルートは '[RKRoute routeWithClass:[Item class] pathPattern:@" search /:id "メソッド:RKRequestMethodGET]'です。 ResponseDescriptorは@ micha-mazaheriが書いたのと同じです。 @Wainからのマッピングを 'addAttributeMappingsFromDictionary:' – Obenland