我正在开发一个RESTful API,它有一个创建实体的端点。使用POST调用此端点,并使用201和正文中的字段进行响应。
我看到Retrofit将此201响应解释为失败并调用了failure()方法。一种解决方案是将响应代码更改为200,但是有人知道为什么会这样做吗?
由于
答案 0 :(得分:2)
从documentation of the Callback class开始,我们有:
失败(RetrofitError错误)
网络导致的HTTP响应失败 失败,非2XX状态代码或意外异常。
也就是说,您的201代码状态应该被视为成功。
但是你面临的问题还有其他一些原因。从this answer开始,您可以看到改造可以抛出调用失败方法的异常。请尝试查看您的gson解析器,即表示此服务的预期响应的POJO类。