我正在使用 RESTKit 从rest-api 获取数据。
这是我为请求设置的 URL,这是请求关闭之前的日志:
2014-04-03 15:51:10.186 xxx[35745:60b] 刚刚发送 URL: /api/dspObjGetNewsList?action=coverage&count=30&start=0&open=0&user=xxx&unique=36027&type=all&country=瑞典,global&division=战略产业,区域销售和服务,汽车
然后我记录响应 URL。
- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
NSLog(@"xxx: %d, url: %@", [response statusCode], response.URL);
我明白了吗?
xxx:响应代码:200,网址: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
为什么我在回复中收到不同的 URL? RESTKit 会修改我的 URL 吗?
您是否正确配置了HTTPClient?使用
- (id)initWithHTTPClient:(AFHTTPClient *)client
方法配置 HTTPClient。例如:
AFHTTPClient *HTTPClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"www.url.com"]];
您的第一个日志似乎是 URL 的原始字符串。第二个日志似乎是该字符串的 % 转义 URL 版本。这不是 RestKit 的事情,而是 URL 加载系统的事情。某些字符需要转义,以便它们在 URL 中使用时有效。
例如,您的原始字符串中有许多空格。 URL 中不允许这样做,每个都必须更改为
%20
。
为什么参数更改顺序尚不清楚 - 这取决于您如何创建字符串并向 RestKit 提供参数。但是,顺序对于处理并不重要,因此您不必担心。