#android #kotlin #retrofit #retrofit2
#Android #kotlin #модифицированный #retrofit2
Вопрос:
Я не получаю полную строку ответа в формате JSON из модифицированного кода 422
вот что я получил в теле ошибки
[size=67 text=[{"field":"current_password","message":"Invalid current password…]
Спасибо
Обновить
val listType = object : TypeToken<List<UpdatePasswordError>>() {}.type
val errorConverter: Converter<ResponseBody, List<UpdatePasswordError>> = networkClientI.mRetrofit.responseBodyConverter<List<UpdatePasswordError>>(listType, arrayOfNulls<Annotation>(0))
val errorList = errorConverter.convert(it.errorBody()!!)
Я успешно преобразовал тело моего ответа с ошибкой в Json
UpdatePasswordError.kt
data class UpdatePasswordError(
@SerializedName("field")
val `field`: String? = null,
@SerializedName("message")
val message: String? = null
)
Комментарии:
1. Попробуйте это в postman.
2. Я уже сделал это в postman, он дает мне полный ответ
3.
[ { "field": "current_password", "message": "Invalid current password" } ]
Ответ №1:
Почему вы решили, что не вся строка с ошибкой приходит в ответ? Вы проверяли через Debagger? Попробуйте обработать сетевую ошибку, как описано здесь:https://futurestud.io/tutorials/retrofit-2-simple-error-handling
Комментарии:
1. Спасибо за помощь, чувак. Я исправил это с помощью Converter
val listType = object : TypeToken<List<UpdatePasswordError>>() {}.type val errorConverter: Converter<ResponseBody, List<UpdatePasswordError>> = networkClientI.mRetrofit.responseBodyConverter<List<UpdatePasswordError>>(listType, arrayOfNulls<Annotation>(0)) val errorList = errorConverter.convert(it.errorBody()!!)