RESTKit response.url改变了参数的顺序

时间:2014-04-03 13:56:33

标签: ios api restkit

我使用RESTKit从rest-api获取数据。

这是我为我的请求设置的网址,这是请求发出之前的日志。

2014-04-03 15:51:10.186 xxx[35745:60b] Just sent URL: /api/dspObjGetNewsList?action=coverage&count=30&start=0&open=0&user=xxx&unique=36027&type=all&country=Sweden,global&division=Strategic Industries,Regional Sales and Service,Automotive

然后我记录响应网址。

- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
    NSLog(@"xxx: %d, url: %@", [response statusCode], response.URL);

我明白了吗?

xxx: response code: 200, url: url/api/dspObjGetNewsList?unique=26791&type=all&division=Strategic%20Industries%2CRegional%20Sales%20and%20Service%2CAutomotive&user=xxx&action=coverage&open=0&country=Sweden%2Cglobal&count=30&start=0

为什么我在回复中获得了不同的网址? RESTKit会修改我的网址吗?

2 个答案:

答案 0 :(得分:0)

您是否正确配置了HTTPClient?使用- (id)initWithHTTPClient:(AFHTTPClient *)client方法配置HTTPClient。例如:

AFHTTPClient *HTTPClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"www.url.com"]];

答案 1 :(得分:0)

您的第一个日志似乎是网址的原始字符串。第二个日志似乎是该字符串的%转义URL版本。这不是一个RestKit的东西,它是一个URL加载系统的东西。某些字符需要进行转义,以便它们可以在URL中使用。

例如,您的原始字符串中包含许多空格。这在网址中是不允许的,每个网址都必须更改为%20

为什么参数更改顺序不明确 - 这取决于您创建字符串的方式并将参数提供给RestKit。但是,订单对处理并不重要,所以你不必担心它。