在我的应用程序中,我正在进行不同的调用,除了一个调用之外,它们只能返回一个响应为SUCCESS的字符串。我收到此错误
"The operation couldn’t be completed. (Cocoa error 3840.)", NSLocalizedDescription=Loaded an unprocessable response (200) with content type 'application/json'}
我如何告诉restkit访问“Content-Type:text / plain”
这是一个电话会议。
答案 0 :(得分:4)
简短的回答:你做不到。 RestKit仅用于处理JSON对象,因此它需要JSON响应(与RESTful范例保持一致)。
但是,您绝对可以使用AFNetworking发布对象,RestKit实际上包含这些对象。我使用AFNetworking进行非核数据相关的通信。这是一个代码示例,介绍如何从RestKit获取AFHTTPClient并进行POST,期待text/plain
响应。
AFHTTPClient *httpClient = [RKObjectManager sharedManager].HTTPClient;
NSDictionary *requestObject = @{@"label1":data1, @"label2":data2};
[httpClient setParameterEncoding:AFJSONParameterEncoding];
[httpClient setDefaultHeader:@"Accept" value:@"text/plain"];
[httpClient postPath:urlPath parameters:requestObject success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *response = (NSString*)responseObject;
if([response isEqualToString:@"SUCCESS"]) NSLog(@"It worked!");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//failure code goes here
}];
如果这是您唯一期待text/plain
的电话,请在完成后更改Accept
标题:
[httpClient setDefaultHeader:@"Accept" value:@"application/json"];