Разобрать тело ошибки с помощью модификации и rxjava - PullRequest
0 голосов
/ 27 мая 2020

У меня есть этот код в моем докладчике

override fun login(phone: String, password: String) {
        view?.showLoading()
        subscriptions.add(
            ApiManager.login(phone, password)
                .subscribe(
                    {
                        view?.hideLoading()
                        view?.onLoginSuccess(it.result)
                        SharedPref.setToken(it.result.token)
                    },
                    {error-> view?.onLoginError(handleError(error)) }
                ))
    }

, и это мой базовый ответ

data class BaseResponse<T>(
    @SerializedName("error")
    val error: Error,
    @SerializedName("result")
    val result: T,
    @SerializedName("status")
    val status: Int,
    @SerializedName("success")
    val success: Boolean
)

и это моя ошибка

data class Error(
    @SerializedName("message")
    val message: String
)

это как я пытался разобрать сына из тела ошибки

fun handleError(error: Throwable): String {
        val gson = Gson()
        return gson.fromJson((error as HttpException).response()?.errorBody().toString(),BaseResponse::class.java).error.message
    }
 @POST("login")
    fun login(@Body jsonElement: JsonElement): Single<BaseResponse<LoginResponse>>

, но не могу получить сообщение об ошибке

...