首页 > 解决方案 > Moshi 生成的适配器缺少构造函数之外的字段

问题描述

为什么 moshi 适配器会错过“challengeType”字段(在帖子正文中应该始终是一个常量)?我可以以某种方式添加它吗?

帖子正文:

@JsonClass(generateAdapter = true)
data class VerifySmsBody(
    @Json(name = "deviceid")
    val deviceId: String,

    val requestId: String,
    val challengeData: String
) {
    val challengeType: String = "SMS_INPUT"
}

各个适配器的 toJson() 方法是:

override fun toJson(writer: JsonWriter, value: VerifySmsBody?) {
    if (value == null) {
      throw NullPointerException("value was null! Wrap in .nullSafe() to write nullable values.")
    }
    writer.beginObject()
    writer.name("deviceid")
    stringAdapter.toJson(writer, value.deviceId)
    writer.name("requestId")
    stringAdapter.toJson(writer, value.requestId)
    writer.name("challengeData")
    stringAdapter.toJson(writer, value.challengeData)
    writer.endObject()
  }

标签: moshi

解决方案


推荐阅读