Моя проблема в том, что я не могу преобразовать ответ от сервера в определенный класс c, потому что при модернизации должен использоваться второй, а не первый. Кстати, теперь мой модифицированный клиент выглядит так:
val retrofit = Retrofit.Builder()
.baseUrl(url)
.client(okHttpClient)
.addConverterFactory(createGsonConverter(ApplicationValues::class.java, ApplicationInstanceDeserializer()))
.addConverterFactory(createGsonConverter(SchemeDefinition::class.java, DefinitionDeserializer()))
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create()).build()
return retrofit.create(T::class.java)
Может кто-нибудь что-то предложить, как мне сделать десериализацию, если ответ возвращает другую строку JSON и мне нужно преобразовать ее в соответствующий класс данных.
Кстати, я понимаю, что Converter.Factory
должен возвращать значение null, чтобы можно было модифицировать второй преобразователь, но я не понимаю этого полностью, потому что метод addConverterFactory()
не принимает нулевое значение.