Как вернуть пустую модель, если произошла ошибка Gson - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Retrofit + Gson в своем приложении для Android. Иногда я получаю такое исключение:

Ожидается BEGIN_OBJECT, но в строке 1 столбца 1 путь $ retrofit2.converter.gson.GsonResponseBodyConverter.convert

Я не хочу, чтобы мое приложение зависало при ответе сервера на неверные запросы.

Есть ли способ вернуть пустую ResponseBody (Model), если такая ошибка возникает?

        val okHttpClient = OkHttpClient()
            .newBuilder()
            .readTimeout(5, TimeUnit.MINUTES)
            .writeTimeout(5, TimeUnit.MINUTES)
            .addInterceptor(TokenInterceptor(preferencesHelper))
            .addInterceptor(ClientInterceptor())
            .addInterceptor(mHttpLoggingInterceptor)
            .build()

 val gson = GsonBuilder()
            .setLenient()
            .create()

        return Retrofit.Builder()
            .baseUrl(...)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .addCallAdapterFactory(CoroutineCallAdapterFactory())
            .client(okHttpClient)
            .build()
            .create(...)
...