3

REST API に対して AFNetworking を使用します。

  • リソースへの投稿/
  • サーバーが 303 で応答する -> resources/3928.json を参照

サーバーはここに情報を提供しています: ID3928はリソースに割り当てられています。

POST 操作中にこの URL を知ることは可能ですか? また、このリソースは本当に必要ありません。実際にリダイレクトに従うことを避けることはできますか?

別のオプションは 200 with を使用することです{status:"ok",insert_id:3928}が、これは必要ないように感じます

4

2 に答える 2

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];
}
于 2013-05-04T04:39:18.780 に答える
1

これは少し古いことは知っていますが、同じタイプの問題に遭遇しました。リダイレクト 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");
}];
于 2013-08-27T22:49:53.427 に答える