Я использую Volley для моего приложения Android для извлечения данных с моего сервера. Он работает хорошо, кроме случаев, когда обрабатывается ошибка с моего сервера. Мой сервер отправляет этот ответ, когда есть ошибка:
{
"status": 400,
"message": "Errors (2): A name is required- Julien is already used. Not creating."
}
Моя цель - получить сообщение, а затем отобразить его в Toast
. Я сделал несколько примеров, как это сделать, но это не сработает.
Есть мой прослушиватель ошибок:
public void onErrorResponse(VolleyError error) {
int statusCode = error.networkResponse.statusCode;
NetworkResponse response = error.networkResponse;
Log.d("testerror",""+statusCode+" "+response.data);
// Handle your error types accordingly.For Timeout & No connection error, you can show 'retry' button.
// For AuthFailure, you can re login with user credentials.
// For ClientError, 400 & 401, Errors happening on client side when sending api request.
// In this case you can check how client is forming the api and debug accordingly.
// For ServerError 5xx, you can do retry or handle accordingly.
if( error instanceof NetworkError) {
} else if( error instanceof ClientError) {
} else if( error instanceof ServerError) {
} else if( error instanceof AuthFailureError) {
} else if( error instanceof ParseError) {
} else if( error instanceof NoConnectionError) {
} else if( error instanceof TimeoutError) {
}
showProgress(false);
mPasswordView.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
И вот результат моего отладчика: testerror: 400 [B @430b8d60
EDIT: Кроме того, моя error.getMessage() имеет значение null.
Поэтому я не понимаю, почему моя переменная response.data не является ответом от моего сервера.
Если кто-то знает, как я могу получить сообщение с моего сервера, это будет круто.
спасибо,