Я пытаюсь отправить данные JSON в запросе POST на сервер с помощью RestKit, но я получаю сообщение об ошибкеОшибка при запросе RestKit POST
Expected content type {(
"application/x-www-form-urlencoded",
"application/json"
)}, got text/plain
Код я написал:
NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",BASE_SERVICE_URL,TASK_SERVICE_URL]];
RKObjectMapping *mapping=[RKObjectMapping mappingForClass:[LoginData class]];
[mapping addAttributeMappingsFromDictionary:@{@"s":@"status",
@"message":@"message"}];
RKResponseDescriptor *descriptor=[RKResponseDescriptor responseDescriptorWithMapping:mapping method:RKRequestMethodPOST pathPattern:nil keyPath:@"" statusCodes:0];
NSMutableURLRequest *request=[[NSMutableURLRequest alloc]initWithURL:url];
[request setHTTPMethod:@"POST"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSDictionary *[email protected]{@"task":@"storeProfile",
@"fdate":@"01.01.2013",
@"tdate":@"19.08.2013",
@"keyword":@"taxi && cab",
@"AlertHours":@"120",
@"AlertDay":@"0",
@"AlertTimeStart":@"12:00",
@"AlertTimeEnd":@"18:00",
@"topic":@[
@{@"tname":@"Politics"},
@{@"tname":@"Economy"}
],
@"publication":@[
@{@"pname":@"Vijay Times Online"},
@{@"pname":@"Leisure Opportunities"}
]
};
NSError *error=nil;
NSData *jsonData=[NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error];
if (error) {
NSLog(@"%@",error.localizedDescription);
return;
}
[request setHTTPBody:jsonData];
operation=[[RKObjectRequestOperation alloc]initWithRequest:request responseDescriptors:@[descriptor]];
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
LoginData *data=[mappingResult.dictionary objectForKey:@""];
NSLog(@"%@",data.message);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"ERROR:%@",error.localizedDescription);
}];
[operation start];
Может кто-нибудь пожалуйста, помогите мне разобраться, в чем проблема? Я попытался установить тип содержимого, как следовать также:
[request addValue:@"application/application/x-www-form-urlencoded; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
Я видел это в ответ на SO и не уже пытались, но не повезло. Я не получаю никаких ошибок после добавления, но сервер также не отвечает, и я не получаю никакого ответа. – execv