Nach diesem Artikel https://github.com/FasterXML/jackson-module-scala/wiki/EnumerationsJSON Serialisierung von Scala Aufzählungen Jackson mit
Die Erklärung Aufzählung ist als
object UserStatus extends Enumeration {
type UserStatus = Value
val Active, Paused = Value
}
class UserStatusType extends TypeReference[UserStatus.type]
case class UserStatusHolder(@JsonScalaEnumeration(classOf[UserStatusType]) enum: UserStatus.UserStatus)
Der DTO als
erklärtclass UserInfo(val emailAddress: String, val userStatus:UserStatusHolder) {
}
und der Serialisierungscode ist
val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)
def serialize(value: Any): String = {
import java.io.StringWriter
val writer = new StringWriter()
mapper.writeValue(writer, value)
writer.toString
}
Die resultierende JSON Serialisierung ist
{
"emailAddress":"[email protected]",
"userStatus":{"enum":"Active"}
}
Ist es möglich, sie das folgende Formular zu bekommen?
{
"emailAddress":"[email protected]",
"userStatus":"Active"
}
Funktioniert gut. Vielen Dank :-) – sriram