Ich habe eine ältere Scalatra-Anwendung geerbt, die eine REST-API anbietet. Die Serialisierung des zurückgegebenen Objekts funktioniert einwandfrei, wenn das zurückgegebene Objekt eine Fallklasse ist, die auf anderen Fallklassen erstellt wurde. Wenn Sie jedoch ein Objekt zurückgeben, das aus einer Java- oder Scala-Klasse erstellt wurde, wird es von Scalatra nicht serialisiert. Ich werde nur das Ergebnis von Object.toString() erhalten. Also, was muss ich tun, um auch nicht-Fall-Klassen richtig zu serialisieren?Serialisierung von Java- und Scala-Objekten mit Scalatra
Hier ist meine Klasse
class Snafu(sna: String, foo: String) {
}
und das ist mein Servlet:
class HealthServlet(implicit inj: Injector)
extends ScalatraServlet with SLF4JLogging
with JacksonJsonSupport
with Injectable with InternalViaLocalhostOnlySupport {
protected implicit val jsonFormats: Formats = DefaultFormats
val healthStateCheck = inject[HealthStateCheck]
before("/") {
}
get("/") {
Ok(new Snafu("4", "2"))
}
}