2012-03-13 13 views
1

私はrestkitを試していて、ルータクラスの問題のようです。私はちょうどこのようにやりたいオブジェクト(この場合はユーザー)を更新したい場合、そうRestkitルータでuriエンコードを避ける

/path/to/resource/id/ 

:デフォルトでは私のAPIサーバは、このような何かを意味し、すべてのオブジェクトのためのresource_uriを、持ってい

[router routeClass:[user class] toResourcePath:@":resource_uri" forMethod:RKRequestMethodPUT]; 

ユーザーオブジェクトのパス全体がインスタンス変数の1つになっているためです。また、それは彼自身のIDを持っていますが、私はこの方法が簡単だと思います。

の問題は、私がデバッグを行うときということです:

%2Fpath%2Fto%2Fresource%2Fid%2F 

とURLが正しく理解されていないので、これは、私の要求が失敗することができます:私は醜い何かなどを取得するようresource_uriは、URIエンコーディングでマッピングされています。

私は、代わりにユーザーIDを使用してこの問題を解決するようにルータを設定:

[router routeClass:[user class] toResourcePath:@"/api/resources/userprofile/:user_id/" forMethod:RKRequestMethodPUT]; 

しかし、私は、URIエンコーディングを克服する方法があるかどうかを知りたいです。

答えて

0

あなたはescapeRoutedPathを渡すことができます:NOのように:

[router routeClass:[user class] toResourcePath:@":resource_uri" forMethod:RKRequestMethodPUT escapeRoutedPath:NO]; 
関連する問題