AFNetworking - 获取重定向网址

时间:2013-05-04 02:52:09

标签: iphone rest afnetworking

针对REST API使用AFNetworking。

  • POST to resources /
  • 服务器响应303 - >见资源/ 3928.json

服务器在此处提供信息:已将3928 ID分配给您的资源。

在POST操作期间是否可以学习此URL?另外,我真的不需要这个资源。我可以避免实际关注重定向吗?

另一种选择是使用带有{status:"ok",insert_id:3928}的200,但感觉这不是必需的

2 个答案:

答案 0 :(得分:2)

-(void)call
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:YOUR_PARAMETER forKey:KEY];

    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:YOUR_WEBSERVICE_URL];
    NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:WEBSERVICE_NAME parameters:params];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
     {
         //This is Redirect URL 
         NSLog(@"%@",[[[operation response] URL] absoluteString]);
     } failure:^(AFHTTPRequestOperation *operation, NSError *error)
     {
         NSLog(@"Failure");
     }];

     [operation start];
}

答案 1 :(得分:1)

我知道这有点旧,但我遇到了同样的问题。帮助我找到重定向网址的是以下代码段。我能够从jsonDict中获取我的重定向url。

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id jsonObject){
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"json: %@", jsonDict);
}failure:^(AFHTTPRequestOperation *operation, NSError *error){
    NSLog(@"failure");
}];