Mein Format, liest und schreibt Methoden funktionieren nicht und ich bin nicht in der Lage, das Problem zu lokalisieren. Meiner Meinung nach Ich habe Json.format, Json.reads und Json.writes wie erwartet implementiert. Wenn ich meinen Code kompilieren bekomme ich folgende Fehlermeldung:Play Framework 2.2: Nein Jsons Deserializer gefunden
No Json deserializer found for type Option[(String, String, String, String, String)]
My Model:
object User {
val simple = {
get[Option[Long]]("id") ~
get[String]("username") ~
get[String]("email") ~
get[String]("firstname") ~
get[String]("lastname") map {
case id ~ username ~ email ~ firstname ~ lastname => User(
id, username, email, firstname, lastname)
}
}
implicit val userFormatter = Json.format[User]
implicit val userReads = Json.reads[User]
implicit val userWrites = Json.writes[User]
def findById(id: Long): Option[User] = {
DB.withConnection {
implicit connection =>
SQL("select * from \"user\" where id = {id}").on('id -> id).as(User.simple.singleOpt)
}
}
}
Meine Aktion:
def get(id: Long) = Action {
Ok(Json.toJson(User.findById(id).map {
user =>
(user.id.toString, user.username, user.email, user.firstname, user.lastname)
}).getOrElse[String](""))
}