gpt4 book ai didi

ios - RestKit 处理不同的 HTTP 状态代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:29 25 4
gpt4 key购买 nike

我刚刚开始为我正在构建的 iOS 应用程序试用 RestKit。我通常使用 ASIHttpRequest,但我主要想测试 RestKit 的 JSON 和 CoreData 之间的对象映射。 RestKit 有一些很棒的地方,但我遇到了一个真正让它感觉不足的问题,除非我做错了什么或错过了什么。我希望这里有人可以指导我。

我正在使用 RKObjectLoader 对 REST API 进行异步和同步调用。我的服务旨在发送回正确的 HTTP 状态代码以及某种描述,401 是 API 需要经过身份验证的用户时的示例。

我的问题是,如果返回 401 错误,RestKit 将停止正常运行。 RKResponse 对象的状态代码为 0,即使其中包含有效负载。我很确定这归结于 NSURLConnection 对 HTTP 状态的糟糕处理,但我希望 RestKit 能以某种方式解决这个问题。特别是因为 RKResponse 类有很多包装函数来确定响应的状态代码(isOK、isCreated、isForbidden、isUnauthorized 等)。

相比之下,ASIHttpRequest 没有使用 NSURLConnection,而是使用了较低级别的 CFNetwork 代码。 ASIHttpRequest 使我能够准确地看到通过 HTTP 返回的内容,而不会左右发送错误。

问题是,我是不是做错了什么,或者这是 RestKit 的预期行为?有没有人能够成功调用 [RKResponse isAuthenticated]?尽管对我来说尚无定论,但在这方面以异步模式和同步模式运行之间有什么区别吗?我确实在某处读到,在同步模式下运行的 NSURLConnection 的行为会有所不同,即使底层代码只是调用异步操作。这与我使用 RKObjectLoader 而不仅仅是 RKRequest 有更多关系吗?负载无法映射到模型这一事实可能会引起愤怒,但似乎在实际发生映射之前,RKRequest.sendSynchronously 中的代码更早地被破坏了。

底线是我的代码需要能够自由读取 HTTP 状态代码。任何指导将不胜感激。

海德尔

最佳答案

RestKit 0.20.x 的常用方法是子类化 RKObjectRequestOperation。我写了一篇关于这个问题的博客文章,可以在这里找到: http://blog.higgsboson.tk/2013/09/03/global-request-management-with-restkit/

关于ios - RestKit 处理不同的 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7628728/

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