Бэкенд переименовал price в price_kopecks — правки понадобились в 40 файлах
@Serializable
data class ProductDto(
val id: Long,
@SerialName("price") val price: Double,
)
Этот класс используется везде: в Room, ViewModel и Compose-экранах. В новой версии API цена стала price_kopecks: Long. Изменения расползлись по 40 файлам, в двух местах цену забыли поделить на 100. Какая архитектурная ошибка к этому привела?
- Нет отдельной модели и маппера на границе данных
- Цену нужно было сразу хранить в Double
- Не использовался @JsonNames для старого имени
- DTO нужно было объявить как sealed class
