Kotlin的枚举类'value属性中的@JsonValue注释

Tom*_*iło 5 jackson kotlin

我无法@JsonValue在枚举类的值参数上应用Jackson的注释:

enum class CancellationReason(@JsonValue val code: String) {
    CUSTOMER_RESIGNED("20"),
    ERRORS_IN_FOO("21"),
    ERRORS_IN_BAR("24");
}
Run Code Online (Sandbox Code Playgroud)

错误消息指出:This annotation in not applicable to target 'value parameter'.有什么问题?

hot*_*key 11

您可以升级jackson-module-kotlin到版本2.9.0,错误将消失,因为@JsonValue注释FIELD在该版本中获得目标.

或者,通过添加以下内容来指定注释用户站点目标来解决此问题@get::

enum class CancellationReason(@get:JsonValue val code: String) {
    CUSTOMER_RESIGNED("20"),
    ERRORS_IN_FOO("21"),
    ERRORS_IN_BAR("24");
}
Run Code Online (Sandbox Code Playgroud)