RetroFit 状态代码 201 解释为错误

2023-12-31

我正在开发一个 RESTful API,它有一个端点,可以创建一个实体。该端点通过 POST 调用,并以 201 和正文中的字段进行响应。

我看到 Retrofit 将这个 201 响应解释为失败并调用 failure() 方法。一种解决方案是将响应代码更改为 200,但有人知道为什么要这样做吗?

Thanks


来自回调类的文档 http://square.github.io/retrofit/javadoc/retrofit/Callback.html, 我们有:

failure(RetrofitError错误)

由于网络原因,HTTP 响应失败 失败、非 2XX 状态代码或意外异常。

也就是说,您的 201 代码状态应该被处理为成功。

但您所面临的问题还有其他一些原因。从这个答案 https://stackoverflow.com/questions/23107579/retrofit-invokes-failure-method-even-when-the-headers-status-code-is-200,您可以看到,retrofit 可以抛出调用失败方法的异常。尝试查看您的 gson 解析器,即表示此服务的预期响应的 POJO 类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RetroFit 状态代码 201 解释为错误 的相关文章