特定の JIRA サーバーとやり取りする iPhone アプリを作成しようとしています。ログインするための次のコードがあります。
NSURL *url = [[NSURL alloc] initWithString:@"https://mycompany.atlassian.net/rest/auth/latest/session/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *postString = [NSString stringWithFormat:@"{\"username\":\"%@\",\"password\":\"%@\"}", username, password];
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept" ];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:
^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"ERROR: %@", error);
}
];
[operation start];
しかし、Content-Typeに関係する次のエラーが表示されます:
ERROR: Error Domain=AFNetworkingErrorDomain Code=-1011
"Request failed: unsupported media type (415)"
UserInfo=0x8cd6540
{
NSErrorFailingURLKey=https://mycompany.atlassian.net/rest/auth/latest/session/,
NSLocalizedDescription=Request failed: unsupported media type (415),
NSUnderlyingError=0x8c72e70
"Request failed: unacceptable content-type: text/html",
何が問題なのかわからない。私はこの質問を見つけましたが、これは同様の問題かもしれないと思いましたが、答えは、クラスを使用するかAFJSONRequestOperation
(そのクラスを持たない AFNetworking バージョン 2 を使用しているため使用できません)、または修正することを示しています。それはサーバー側にあります(これも明らかな理由でできません)。
サーバー側を修正できず、使用できない場合、このエラーを修正するにはどうすればよいAFJSONRequestOperation
ですか?