1

この投稿で説明されているように、PlayでReads[A]を使用しようとしています。

Play Framework2.0ScalaでのJSONリクエストの処理

しかし、似たようなことをしようとすると、このエラーが発生しました。

メソッドがトレイトを読み取るため、オブジェクトの作成は不可能です。タイプ(json:play.api.libs.json.JsValue)models.SomeObject.AnotherObjectが定義されていません。

私は現在持っています:

package models

object SomeObject {
  case class AnotherObject(val name: String)
  implicit object AnotherObjectReads extends Reads[AnotherObject] {
    def read(json: JsValue) =
      AnotherObject((json \ "name").as[String])
  }
}

そして、私はそれを次のように使用しています:

def callFunc = Action(BodyParsers.parse.json) { request =>
  request.body.asOpt[SomeObject.AnotherObject].map {
    //Logic
  }.getOrElse(BadRequest)
}

コードで何か間違ったことをしていますか?

4

1 に答える 1

3

スペルが間違っていると思います。このメソッドは、読み取りではなく読み取りと呼ばます

http://www.playframework.org/documentation/api/2.0.4/scala/index.html#play.api.libs.json.Reads

于 2013-02-05T11:55:43.273 に答える