Я получаю следующую модель из вызова API через Retrofit:
data class User(
@Expose val id: Int
@Expose var username: String,
@Expose var phoneNum: String?,
@Expose var email: String?,
@Expose var payments: List<PaymentMethod>
)
Мне нужно добавить один дополнительный атрибут по причинам, связанным с этим SO ответом.
Дополнительным аргументом будет класс данных PaymentsMethods:
data class PaymentsMethods(
val paymentMethods: List<PaymentMethod>
)
Как добавить значение атрибута в класс User при его создании?
Вот что я пытался до сих пор:
// add an attribute (with a default value) that won't be filled by the parser.
data class User(
@Expose val id: Int
@Expose var username: String,
@Expose var phoneNum: String?,
@Expose var email: String?,
@Expose var payments: List<PaymentMethod>,
@Expose var paymentsObject: PaymentMethods = PaymentMethods(payments)
)
и
// create variable and set the value on init
data class User(
@Expose val id: Int
@Expose var username: String,
@Expose var phoneNum: String?,
@Expose var email: String?,
@Expose var payments: List<PaymentMethod>
){
init {
var paymentsObject: PaymentMethods = PaymentMethods(payments)
}
}
Ни один из них не работает.Любое предложение будет высоко ценится.