【问题标题】:Retrofit incorrect response error on android在android上改造不正确的响应错误
【发布时间】:2017-03-11 03:28:19
【问题描述】:

当我使用过期令牌调用任何 webService 时,服务返回代码 498 并带有错误消息“您的令牌已过期”..但是改造给出了响应代码 500 并带有错误消息“内部服务器错误”。

response.code() //500  instead of 498

我用邮递员测试了相同的网址,它工作正常,但问题只在于改造。

我在带有 AFNetworking 的 IOS 上使用相同的服务,它在那里也可以正常工作。

任何机构都可以帮助弄清楚为什么会发生这种情况?提前致谢。

【问题讨论】:

    标签: android web-services android-studio retrofit retrofit2


    【解决方案1】:

    这不是一个完整的答案,但是对于评论来说太大了。

    5xx 代码是服务器错误,这意味着服务器正在崩溃,而不是应用程序也不是改造错误。问题很可能出在服务器上,但也可能是由改造引起的——是的,这是真的。

    我对所有问题的经验是:“我用邮递员尝试了这个在此处插入随机网络调用,它可以工作,但改造返回 500”是因为邮递员默认添加标题,而改造不会不。然后,服务器实现期望这些标头被设置,如果这些标头丢失,则由于错误的实现而崩溃。

    我会检查正在发送的标头改造和邮递员正在发送的标头并比较两者,并确保哪个导致服务器崩溃。

    也可能是OkHttp(Retrofit 在后台使用OkHttp)添加了一些服务器无法处理的标头。这对我来说会很陌生,但并非不可能。我认为它默认添加了例如 gzip 并且某些服务器可能无法正确处理此问题。

    如果您可以访问服务器,那么甚至可能值得在那里查看日志。他们可能会立即指出问题所在。

    很抱歉,我无法直接指出问题所在。这些只是帮助您入门的提示。希望他们有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 2023-01-28
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多