Chcę napisać walidację JSON dla kilku klas modeli Scala w grze 2.3.3. Używam JSON Reads, aby to zrobić zgodnie z instrukcjami (https://playframework.com/documentation/2.3.x/ScalaJsonCombinators). Ale pojawia się błąd "Aplikacja nie przyjmuje parametrów" i nie wiem jak to naprawić.Dlaczego otrzymuję komunikat "Aplikacja nie pobiera parametrów" przy użyciu JSON Read with Play framework 2.3?
Oto mój kod.
package models
import play.api.libs.json._
import play.api.libs.json.Reads._
import play.api.libs.functional.syntax._
import reactivemongo.bson.BSONObjectID
import java.util.Date
case class ArtifactModel(
_id: BSONObjectID,
name: String,
createdAt: Date,
updatedAt: Date,
attributes: List[AttributeModel],
stateModels: List[StateModel])
case class AttributeModel(
name: String,
comment: String)
case class StateModel(
name: String,
comment: String)
object ArtifactModel {
implicit val artifactModelReads: Reads[ArtifactModel] = (
(__ \ "_id").readNullable[String] ~
(__ \ "name").read[String] ~
(__ \ "createdAt").readNullable[Long] ~
(__ \ "updatedAt").readNullable[Long] ~
(__ \ "attributes").read[List[AttributeModel]] ~
(__ \ "stateModels").read[List[StateModel]]
)(ArtifactModel) // here is the error: "Application does not take parameters"
implicit val attributeModelReads: Reads[AttributeModel] = (
(__ \ "name").read[String] ~
(__ \ "comment").read[String]
)(AttributeModel)
implicit val stateModelReads: Reads[StateModel] = (
(__ \ "name").read[String] ~
(__ \ "comment").read[String]
)(StateModel)
}
Czy możesz mi pomóc? Wszelkie rozwiązania i sugestie dotyczące walidacji JSON w Scala/Play są doceniane.
już spróbować, ale to nie działa mnie. Błąd jest taki sam. Jestem zmieszany. – Raysmond
Mam coś do skompilowania i zaktualizowałem odpowiedź. –
Dziękuję bardzo. Działa w ten sposób. – Raysmond