告诉AFHTTPClient自动添加尾部斜杠

时间:2013-06-07 18:33:46

标签: django afnetworking

我正在使用AFHTTPClient向Django + Tastypie应用程序发出请求。此应用程序启用了APPEND_SLASH设置,这意味着如果URL不以尾部斜杠结尾,则会将请求重定向到附加了斜杠的同一URL。

现在我正在这样做:

[[AFHTTPClient sharedClient] getPath:@"entry" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {            

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"%@", error);
}];

生成的网址为http://www.example.com/api/v1/entry,会被重定向到http://www.example.com/api/v1/entry/。有没有办法告诉AFHTTPClient总是自动添加尾部斜杠?

1 个答案:

答案 0 :(得分:1)

你需要

  1. 始终在/参数中提供结尾getPath:(例如getPath:@"entry/")或
  2. 子类AFHTTPClient,其中包含添加它的方法。
  3. 以下是#2的例子:

    - (void)getPath:(NSString *)path 
         parameters:(NSDictionary *)parameters 
            success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
            failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
    {
        if ([path length] > 0 && ![path hasSuffix:@"/"])
            path = [path stringByAppendingString:@"/"];
    
        [super getPath:path parameters:parameters success:success failure:failure];
    }