gpt4 book ai didi

ios - Reskit 响应只是一个字符串,而不是 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:03 26 4
gpt4 key购买 nike

在我的应用程序中,我进行了不同的调用,除了一个调用外,它们都有效,该调用仅返回一个字符串作为响应作为 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”

这是一个邮寄电话。

最佳答案

简短的回答:你不能。 RestKit 被设计为仅使用 JSON 对象,因此它期望 JSON 响应(与 RESTful 范式保持一致)。

但是,您绝对可以使用 AFNetworking 发布对象,RestKit 实际上包括在内。我使用 AFNetworking 进行非 coreData 相关的通信。下面是一个代码示例,说明如何从 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 header :

[httpClient setDefaultHeader:@"Accept" value:@"application/json"];

关于ios - Reskit 响应只是一个字符串,而不是 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com