Должны ли мы использовать @JsonProperty в кейс-классах Scala?

каждый.

Это кажется совершенно ненужным упражнением для определения аннотаций @JsonProperty для Json-сериализации класса case. Например:

case class Foo @JsonCreator()(
  @JsonProperty("a") a: String,
  @JsonProperty("b") b: Boolean,
  @JsonProperty("c") c: Int)

Похоже, что подобных тривиальных аннотаций @JsonProperty (просто повторение имени параметра) можно избежать в Java, используя модуль jackson-module-parameter-names и -parameters опция javac:

Почему, когда конструктор помечен @JsonCreator, его аргументы должны быть помечены @JsonProperty?

Однако это не работает с классами case Scala. Есть ли этому решение?


person silverberry    schedule 10.03.2017    source источник
comment
Вы используете ту же версию jackson-module-scala, что и jackson-core? Я считаю, что использование аннотации не требуется, если имя свойства совпадает с именем поля.   -  person jacks    schedule 11.03.2017
comment
Я просто использую модули Jackson, которые поставляются с Lagom по умолчанию. Я проверю. Спасибо!   -  person silverberry    schedule 11.03.2017


Ответы (1)


Верно. Оказывается, Lagom по умолчанию не включает jackson-module-scala.

person silverberry    schedule 13.03.2017