首页 > 解决方案 > 如何为 Retrofit 中的项目设置固定值

问题描述

我有一个由改造填充的数据类。服务器 (API) 中没有id字段。所以我创建了 aval id并为其分配了一些值 say 69。但是一旦我收到数据, id 的值不是69,而是0。请帮忙。

@Entity(tableName = "current_weather")
data class CurrentWeather(

    @SerializedName("last_updated_epoch")
    val lastUpdatedEpoch: Int,

// ... //

    @SerializedName("gust_kph")
    val gustKph: Float
) {
    @PrimaryKey(autoGenerate = false)
    var id: Int = 69
}

我什至尝试这样做:

data class CurrentWeather(

    @PrimaryKey(autoGenerate = false)
    val id: Int = 69,
// ... //
)

标签: androidkotlinretrofit2

解决方案


@Entity(tableName = "current_weather")
data class CurrentWeather(

    @PrimaryKey(autoGenerate = false)
    val id: Int = 69,

    @SerializedName("last_updated_epoch")
    val lastUpdatedEpoch: Int,

    // ... //

)

更新。

这是准备写入数据库的对象。对于您的情况,您应该编写一个从 Retrofit 响应对象到数据实体数据类的映射器/转换器。


推荐阅读