わかりました。まず、ここに質問を投稿するのは初めてなので、気楽に行ってください。
私はこれを理解するためにインターウェブを罵倒したように感じます.私はそれを正しく理解できないので、確かに遅いに違いありません-これは単純であるべきだと知っています.
私はクラスを持っています:
class Produce extends LongKeyedMapper[Produce] with IdPK {
def getSingleton = Produce
object producetype extends MappedString(this,20)
object name extends MappedString(this,20)
object description extends MappedString(this,255)
}
オブジェクトには、いくつかのヘルパー メソッドと、これを機能させるために私がまとめたその他のものがいくつかあります。
object Produce extends Produce with LongKeyedMetaMapper[Produce] {
private implicit val formats = net.liftweb.json.DefaultFormats
override def fieldOrder = List(producetype, name, description)
def search(str: String): List[Produce] = {
val strLC = str.toLowerCase()
Produce.findAll(By(Produce.producetype, strLC))
}
implicit def toJson(item: Produce): JValue = Extraction.decompose(item)
implicit def toJson(items: List[Produce]): JValue = Extraction.decompose(items)
}
私の休息サービスは基本的なことを行っており、これと一致しています:
serve( "api" / "item" prefix {
case "search" :: q JsonGet _ =>
(for {
searchString <- q ::: S.params("q")
item <- Produce.search(searchString)
} yield item): JValue
})
喜んで、それはうまくいきました、私はそれを一致させました..そしてJsonを返します、問題は次のとおりです: DBにproducetype: aの3つの行があるとしましょう。
[{
},{
},{
}]
だから戻ってきて、データをシリアライズしていないだけです... unapplyメソッドをオーバーロードして、ケースクラスが私を助けることができるかどうかを調べようとしましたが、私の弱い心をクリックしていません. 何か助けはありますか?