我使用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会修改我的网址吗?
答案 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。但是,订单对处理并不重要,所以你不必担心它。