저는 scala newbie이고 Ruby 배경에서 왔기 때문에 스카 트라를 사용하는 웹 서비스에서 json 응답을 렌더링하는 데 문제가 있습니다. liftweb을 사용하는 mongodb mongo 레코드 및 argonaut JSon 직렬화 및 deserialisation.net.liftweb.mongodb.record.MongoRecord 및 Argonaut를 사용할 때 스칼라 toJson
그러나 http://argonaut.io/에 주어진 예제를 기반으로 net.liftweb.mongo.record 라이브러리를 사용할 때 이것이 어떻게 작동하는지 알 수 없습니다.
이 컴파일시에는 type mismatch
이라는 오류가 표시됩니다. 오류 설명은 코드 스니 j 다음에옵니다.
package firstscalatraapp import org.scalatra import net.liftweb.mongodb._ import net.liftweb.mongodb.record.MongoRecord import net.liftweb.mongodb.record.field.ObjectIdPk import net.liftweb.record.field.StringField import net.liftweb.record.field.IntField import net.liftweb.record.field.PasswordField import net.liftweb.record.field.DateTimeField import net.liftweb.mongodb.record.MongoMetaRecord import argonaut._ import Argonaut._ case class Person private extends MongoRecord[Person] with ObjectIdPk[Person] { def meta = Person object age extends IntField(this, 3) object name extends StringField(this, 29) object created_at extends DateTimeField(this) object password extends PasswordField(this) } object Person extends Person with MongoMetaRecord[Person] { implicit def PersonCodecJson: CodecJson[Person] = casecodec3(Person.apply, Person.unapply)("name", "age", "things") }
내가 오류는
생성자는 매개 변수와 몽고 라이브러리를 허용하지 않기 때문에 논리적 인 것 같다
[error] found :() => firstscalatraapp.Person
[error] required: (?, ?, ?) => ?
[error] casecodec3(Person.apply, Person.unapply)("name", "age", "things")
[error] ^
[error] one error found
[error] (compile:compile) Compilation failed
내가 클래스에 필요한 필드의 val
를 (생성 될 것입니다 나는 아직도 리프트 몽고 래퍼가 무엇을하는지 완전히 이해하지 못한다.)
그래서 어떻게 사람을 입력 한 serialise 개체를 찾을 수 있도록 암시 적으로 정의 할 수 있습니다.
또한 컬렉션을 처리 할 때 직렬화 기능을 어떻게 정의합니까? 예를 들어 List[Person]
입니다.
미리 감사드립니다. 나는 이것에 관해서 내가 얻을 수있는 어떤 도움에 정말로 감사 할 것이다.