Другой объект ConverterFactory в запросе на модификацию - PullRequest
0 голосов
/ 02 ноября 2019

Я использую Retrofit для вызова запроса API с именем Hello. Я передаю объект Hello и получаю объект ответа RegLog. В коде

data class Hello(
val username: String,
    val password: String,
    val newpassword: String,
    val firstname: String,
    val lastname: String
....
)

data class RegLog(
val accountgroups: List<Accountgroup>,
        val accounts: List<Account>
....

)

это выглядит такКогда я отправляю неверное имя пользователя и пароль, сервер отвечает определенным объектом с именем Ошибка

data class Error(
    val id: String?,
    val message: String?
)

, но это считается успешным запросом. Так что мое приложение вылетает, потому что объект RegLog отличается от объекта Error. Я пытался сделать это с помощью resposne и сбоев callback

ApiService.invoke(SERVER_BASE_URL).helloRequest(hello).enqueue(object:
                    Callback<RegLogResponse> {
                    override fun onFailure(call: Call<RegLogResponse>, t: Throwable) {
                        println("Failure")
                        println(call)
                        t.printStackTrace()
                    }

                    override fun onResponse(call: Call<RegLogResponse>, response: Response<RegLogResponse>) {
                        println("Success")
                        println(call)
                        println(response)
                    }

                })

, но проблема в том, что даже если «login» не удался, всегда вызывается метод onResponse. Итак, как я могу отобразить 2 разных объекта в одном запросе и как я могу узнать, какой объект я должен отображать каждый раз .. ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...