我正在向 api 端点发出请求,当它失败时,将在响应的消息部分提供信息,如下所示:
{
"data":[],
"messages":{
"payment_required":{
"amount":"265.00"
}
},
"code":"",
"status":"failed",
"status_code":400
}
在 android 应用程序上,我正在处理JsonObjectRequest如下所示:
JsonObjectRequest jsonObjRequest = new JsonObjectRequest(Request.Method.PUT, url, data,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
changeColourInterface.requestSuccess();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
NetworkResponse networkResponse = error.networkResponse;
if (networkResponse != null && networkResponse.data != null) {
String jsonError = new String(networkResponse.data);
Log.v("ChangeColour", jsonError);
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.create();
ChangeModelVersionResponse changeModelVersionResponse = gson.fromJson(jsonError, ChangeModelVersionResponse.class);
realm.beginTransaction();
realm.copyToRealm(changeModelVersionResponse.data);
realm.commitTransaction();
changeColourInterface.requestFailed(changeModelVersionResponse.data);
}
}
});
queue.add(jsonObjRequest);
我进入了该onErrorResponse部分,但是当我尝试在 ChangeModelVersion 表中创建本地领域数据库行时,出现错误。这是因为GSON响应正在寻找“数据”部分。但我需要它来查找消息部分。
我怎样才能做到这一点?
慕勒3428872
相关分类