【发布时间】:2017-05-26 10:58:47
【问题描述】:
我正在尝试将 volley request 解析为 "JsonObjectRequest" ,
我得到的错误是 "com.android.volley.ServerError" ,不知道是什么原因。
RequestQueue queue = Volley.newRequestQueue(mConetxt);
JsonObjectRequest putRequestUNregister = new JsonObjectRequest(Request.Method.POST, Global.un_register_device, deviceInfoUnRegister,
new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response) {
// response
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// error
hideProgress();
notificationInterface.NotificationReturn(false);
Log.e("Error.Response","notify onErrorResponse VolleyError "+ error.toString());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
Log.e("Error.Response","notify onErrorResponse VolleyError TimeoutError"+ error.toString());
} else if (error instanceof AuthFailureError) {
Log.e("Error.Response","notify onErrorResponse VolleyError AuthFailureError"+ error.toString());
} else if (error instanceof ServerError) {
Log.e("Error.Response","notify onErrorResponse VolleyError ServerError"+ error.toString());
//TODO
} else if (error instanceof NetworkError) {
Log.e("Error.Response","notify onErrorResponse VolleyError NetworkError"+ error.toString());
//TODO
} else if (error instanceof ParseError) {
Log.e("Error.Response","notify onErrorResponse VolleyError ParseError"+ error.toString());
//TODO
}
}
}
) {
@Override
public Map<String, String> getHeaders()
{
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
headers.put("Accept", "application/json");
return headers;
}
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
@Override
public byte[] getBody() {
try {
return deviceInfoUnRegister.toString().getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
};
这是我试图解析的方式, 并且收到错误为“VolleyError com.android.volley.ServerError”
【问题讨论】:
-
尝试确保您的服务器运行良好。您可以使用 Postman(chrome 插件)或任何其他方式向 url 发送 post 请求并查看它的响应。
-
试试
StringRequest和你得到的回应。 -
你得到的回应是什么......尝试打印它的stackTrace
-
收到响应为“VolleyError com.android.volley.ServerError”@ND1010_
-
请检查服务器日志
标签: android json server android-volley server-error