针对 REST API 使用 AFNetworking。
- 发布到资源/
- 服务器以 303 响应 -> 查看资源/3928.json
服务器在此处提供信息:ID3928
已分配给您的资源。
是否可以在 POST 操作期间学习此 URL?另外,我真的不需要这个资源。我可以避免实际遵循重定向吗?
另一种选择是使用 200 with{status:"ok",insert_id:3928}
但感觉没有必要
针对 REST API 使用 AFNetworking。
服务器在此处提供信息:ID3928
已分配给您的资源。
是否可以在 POST 操作期间学习此 URL?另外,我真的不需要这个资源。我可以避免实际遵循重定向吗?
另一种选择是使用 200 with{status:"ok",insert_id:3928}
但感觉没有必要
-(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];
}
我知道这有点老了,但我遇到了同样类型的问题。帮助我找到重定向 URL 的是以下代码片段。我能够从 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");
}];