私のiPhone(目的C)アプリケーションでAPI呼び出しを使用しています。私のAPISコールはステータスコード200を返しますが、しばらくして405の応答を返します。私は私のアプリを再起動するとき私は適切な応答を取得します。 他の200の応答を受け取った場合や、エラーが発生した場合に同じAPIをコールバックする方法...アプリを再起動する必要はありません。応答が他の場合に同じAPIを再度呼び出す方法ステータスコード200またはエラー
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
NSString *authValue = [NSString stringWithFormat:@"Bearer %@",
[arrTokenData valueForKey:@"Token"]];
//Configure session with common header fields
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.HTTPAdditionalHeaders = @{@"Authorization": authValue};
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSString *url = @"http://test.myserver.am/api/mobile/LookUps/getuserdata";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
if (!error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
if (httpResponse.statusCode == 200)
{
//Process the data
}
else if
{
// how to call back same API
}
}
else
{
// how to call back same API
}
}];
[task resume];
事前
再帰関数の概念を使用します。 –
405メソッドは許可されていないエラーに対処する必要があります。 – Desdenova
エラーが発生したときに同じメソッドを呼び出すと、それは問題を解決します。 – Indrajeet