Он будет работать с регистром DefaultScalaModule и FAIL_ON_UNKNOWN_PROPERTIES как false.
Фрагмент кода класса случая:
import com.fasterxml.jackson.annotation.JsonGetter
import scala.annotation.meta.field
case class RequestJson(@(JsonGetter @field)("app_token") token: String, id: String) {}
Фрагмент кода сопоставителя:
import com.fasterxml.jackson.databind.{DeserializationFeature, ObjectMapper}
import com.fasterxml.jackson.module.scala.DefaultScalaModule
val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
val request = RequestJson("mytoken", "123")
val str = mapper.writeValueAsString(request)
println(str)
//{"app_token":"mytoken","id":"123"}