我无法在枚举类的value参数上应用Jackson的@JsonValue
批注:
enum class CancellationReason(@JsonValue val code: String) {
CUSTOMER_RESIGNED("20"),
ERRORS_IN_FOO("21"),
ERRORS_IN_BAR("24");
}
错误消息指出:
This annotation in not applicable to target 'value parameter'
。有什么问题? 最佳答案
您可以将jackson-module-kotlin
升级到2.9.0版,该错误将消失,因为@JsonValue
批注在该版本中获得了目标FIELD
。
或者,通过添加@get:
来指定annotation use-site target来解决此问题:
enum class CancellationReason(@get:JsonValue val code: String) {
CUSTOMER_RESIGNED("20"),
ERRORS_IN_FOO("21"),
ERRORS_IN_BAR("24");
}