我的Web服务器采用以下形式返回JSON如果成功(200
状态码):改造:处理错误JSON响应
{"success":true,"data":{"user_id":"20","username":"Bob"}}
但是,如果出了问题(例如,如果用户名和密码,进入太短的形式),它在下面的表格(400
状态代码返回JSON):
{"success":true,"errors":{"username":["Username too short"],"password":["Incorrect password","Password too short"]}}
如何处理在Retrofit这两种不同的反应?这是到目前为止我的代码:
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(URL)
.build();
ApiEndpointInterface api = restAdapter.create(ApiEndpointInterface.class);
api.getToken('1', new Callback<DefaultResponse>() {
@Override
public void success(DefaultResponse json, Response response) {
//
}
@Override
public void failure(RetrofitError response) {
//
}
});
如何处理这两种不同结构的JSON响应?
所以我应该返回错误响应作为状态码'200'以及?为什么?我怎么能找到成功的回应和错误回应之间的区别? – user5486944
如果响应是400,那么这是一个失败,因此应该这样对待...... 您可以考虑重新构建模型,以便处理“数据”对象和“错误”对象。 –