【问题标题】:RESTKit response.url changed order of parametersRESTKit response.url 改变了参数的顺序
【发布时间】:2014-04-03 13:56:32
【问题描述】:

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

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

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

然后我记录响应 URL。

- (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

为什么我的回复中出现了不同的 URL? RESTKit 会修改我的网址吗?

【问题讨论】:

    标签: ios api restkit


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      为什么参数更改顺序不清楚 - 这取决于您如何创建字符串并将参数提供给 RestKit。但是,顺序与处理无关,因此您不必担心。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-24
        • 1970-01-01
        • 2018-12-28
        • 1970-01-01
        • 1970-01-01
        • 2020-03-11
        相关资源
        最近更新 更多