Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 避免Restkit路由器上的uri编码_Ios_Restkit_Router_Url Encoding - Fatal编程技术网

Ios 避免Restkit路由器上的uri编码

Ios 避免Restkit路由器上的uri编码,ios,restkit,router,url-encoding,Ios,Restkit,Router,Url Encoding,我正在试验restkit,这似乎是路由器类中的一个问题。默认情况下,我的API服务器具有每个对象的资源uri,这意味着如下内容: /path/to/resource/id/ [router routeClass:[user class] toResourcePath:@":resource_uri" forMethod:RKRequestMethodPUT]; 因此,当我想更新对象(在本例中为用户)时,我希望这样做: /path/to/resource/id/ [router routeC

我正在试验restkit,这似乎是路由器类中的一个问题。默认情况下,我的API服务器具有每个对象的资源uri,这意味着如下内容:

/path/to/resource/id/
[router routeClass:[user class] toResourcePath:@":resource_uri" forMethod:RKRequestMethodPUT];
因此,当我想更新对象(在本例中为用户)时,我希望这样做:

/path/to/resource/id/
[router routeClass:[user class] toResourcePath:@":resource_uri" forMethod:RKRequestMethodPUT];
因为用户对象将整个路径作为其实例变量之一。它也有自己的id,但我认为这种方式更简单

问题是,当我进行调试时,:resource_uri被映射为uri编码,因此我得到了如下结果:

%2Fpath%2Fto%2Fresource%2Fid%2F
这使得我的请求失败,因为url没有正确理解

我使用用户id解决了这个问题,将路由器设置为:

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

但是我想知道是否有克服uri编码的方法。

您可以传递escapeRoutedPath:NO-like:

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