В ответ на модифицированный код 422 я не получаю полный ответ тела ошибки

#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()!!)