У меня есть класс модели, который заполняется ответом сервера gson. фабрика конвертеров gson:
Retrofit.Builder().addConverterFactory(GsonConverterFactory.create())
В моей модели есть переходное поле для предотвращения сериализации / десериализации с помощью gson.
data class Testy(
val id:Int = 1,
@Transient var isShowing:Boolean = true
):Serializable
после получения ответа сервера и получения преобразованного объекта gson значение поля isShowing
равно false
, тогда как ожидалось, что оно будет true
(в качестве значения инициализации).
Обходной путь
Я использовал приведенные ниже способы, но не получил желаемое поведение:
- с использованием
@Expose(serialize = false, deserialize = false)
вместо @ Transient - как упомянуто здесь добавление
GsonBuilder.excludeFieldsWithModifiers(Modifier.TRANSIENT)