【发布时间】:2015-07-19 23:28:37
【问题描述】:
我使用的服务器在 HTTP 状态消息中返回错误消息。例如,它将返回“400 用户已存在”而不是“400 错误请求”。
我想在 Alamofire 调用的响应方法中访问字符串“用户已存在”。但是,我找不到任何方法来访问此字符串。
我已经在 StackOverflow 上发现了这个问题:Swift Alamofire: How to get the HTTP response status code
很遗憾,没有人回答这个问题。 :(
这是 Chrome 显示错误所在的位置:
【问题讨论】:
-
您可以在 Alamofire 回调中使用响应对象的
statusCode属性访问 HTTP 响应代码本身。这是Int,而不是String。如果您确定错误字符串正在被发回,那么我建议使用POSTman 之类的东西来检查标题和正文以找出位置。这将帮助您了解如何访问它。 -
@matthew.healy:我上传了一张图片,显示了 Chrome 中的状态消息。我不相信这是标题或正文的一部分,尽管我肯定是错的。
-
啊,很奇怪。不确定我能做多少真正的帮助。似乎您可以从响应中获得的唯一内容是(整数)
statusCode和标题字典。 (见this link) -
我也有同样的要求。你找到答案了吗?
-
@Oshadha 是的,虽然你不会喜欢它。我了解到 HTTP 状态消息应该仅用于调试,而不是用于应用程序逻辑。任何有意义的数据都应通过标头或正文发送。因此,您永远不需要获取状态消息,如果您确实需要它,您应该更改您的服务器。 (再一次,我说你不会喜欢我的回答!:P)