gpt4 book ai didi

ios - AFNetworking 2 - 请求失败时没有响应正文

转载 作者:行者123 更新时间:2023-11-28 20:02:40 27 4
gpt4 key购买 nike

我正在为一个使用 REST API 的 iOS 项目使用 AFNetworking 2。当请求失败时,我无法获得正文响应。

我看过这个SO answer这表示它可以从 userInfo 字典中检索。不幸的是,在我的例子中,我的 userInfo 字典中没有包含响应正文的 NSLocalizedRecoverySuggestion 键值。相反,我看到了一个 AFNetworkingOperationFailingURLResponseErrorKey 键。

我的 NSError 日志是

Error Domain=AFNetworkingErrorDomain Code=-1011 "Request failed: bad request (400)" UserInfo=0xbe471a0 {NSErrorFailingURLKey=http://***.com/api/users, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0xbc60e80> { URL: http://***.com/api/users } { status code: 400, headers {
Connection = "keep-alive";
"Content-Length" = 85;
"Content-Type" = "application/json; charset=utf-8";
Date = "Thu, 24 Apr 2014 21:36:57 GMT";
"X-Powered-By" = Express;
} }, NSLocalizedDescription=Request failed: bad request (400)}

正如您从 header 中看到的那样,我正在获取 "Content-Type"= "application/json; charset=utf-8"; 所以这另一个 answer也不适用。

实际上 Postman 中的 body react 看起来像这样:

{"errorCode":100,"description":"已经有一个使用该邮箱的注册用户。"}

后端是我自己用Node + Express实现的。不过,我在后端开发方面不是很有经验,所以也许我缺少某些东西或者我可以更改。

有谁知道为什么我没有在 userInfo 中获取响应正文?

最佳答案

Quoting AFNetworking 所有者:

(...) the recommended approach is to create a custom response serializer that translates response data in failing cases into NSError objects as appropriate.

可以看到this answer在另一个 AFNetworking 问题上查看如何将它与您的 session 管理器集成,以及 this repository看看如何实现它。

关于ios - AFNetworking 2 - 请求失败时没有响应正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280557/

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