Я пытаюсь сделать приложение iphone, которое будет взаимодействовать с конкретным сервером JIRA. У меня есть следующий код для входа в систему:
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
?