4

私はこのUser.scalaクラスを実装しています

class User(var id : Long , var name : String) {

 def createUser() = {}

 def setName(nome : String) : String = {
    this.name = nome
    return name
 }

 def getName() : String = {
    return name
 }
}

object User {

implicit object userFormat extends Format[User] {

  override def reads(json: JsValue): User = new 
  User(

      (json \ "id").as[Long],

      (json \ "name").as[String]

  )

   override def writes(s: User): JsValue = JsObject(Seq(
        "id" -> JsString(s.id.toString),
        "name" -> JsString(s.name)
    ))   
  }
}

しかし、メソッドの読み取り時にこのエラーが発生します。メソッドの読み取りをトレイトでオーバーライドするタイプ(json:play.api.libs.json.JsValue)play.api.libs.json.JsResult [models.User];
メソッド読み取りに互換性のないタイプがあります

ケースクラスを使用したくない(または問題が解決される)、誰かが私に何をすべきかについてのヒントを教えてもらえますか?

ありがとう。

4

1 に答える 1

10

「User」オブジェクトをJsResult(この場合はJsSuccess)でラップする必要があります

JsSuccess(new User(...))
于 2013-03-14T13:42:58.173 に答える