无法构造
MyDataClass
的实例,问题:永远不要调用set()
关于无设置属性('derivedProp')
@JsonIgnoreProperties(ignoreUnknown = false)
data class MyDataClass(
val boolProp: Boolean = true,
val dataProp: DataProp = DataProp(),
val mainProp: String? = null
) : Serializable {
@JsonProperty
@Suppress("unused")
fun derivedProp(): List =
someLogicOnMainProp(mainProp)
}
答案 0 :(得分:0)
如果使用属性而不是函数,则仍可以定义一个setter并在调用它时忽略它。不是最漂亮的解决方案,但可以解决问题:
@get:JsonProperty
var derivedProp: List<Any>
get() = someLogicOnMainProp(mainProp)
set(value) { /* do nothing */ }
答案 1 :(得分:0)
我使用@JsonProperty批注的以下属性解决了此问题:
@JsonProperty(access = Access.WRITE_ONLY)