RetroFit状态代码201被解释为错误

时间:2015-03-24 00:35:39

标签: retrofit

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

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

由于

1 个答案:

答案 0 :(得分:2)

documentation of the Callback class开始,我们有:

  

失败(RetrofitError错误)

     

网络导致的HTTP响应失败   失败,非2XX状态代码或意外异常。

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

但是你面临的问题还有其他一些原因。从this answer开始,您可以看到改造可以抛出调用失败方法的异常。请尝试查看您的gson解析器,即表示此服务的预期响应的POJO类。