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

您应该将“用户”对象包装在 JsResult 中,在本例中为 JsSuccess

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