Я новичок в лифте и скале.
Я разрабатываю json-rest api для rss agregator, и у меня есть две проблемы:
package my.domain
import net.liftweb.http._
import net.liftweb.http.rest._
import net.liftweb.json.JsonAST._
import net.liftweb.common.{Box,Full,Empty,Failure,ParamFailure}
import my.domain.model.{RssItem}
object ContentRest extends RestHelper {
def getFirstRssItem = {
val item = RssItem.find(ByField(RssItem.title, "test"))
item.title
}
serve {
case "api" :: "static" :: _ XmlGet _=> <b>Static</b>
case "api" :: "static" :: _ JsonGet _ => JString("string")
}
}
Я получаю ошибки в первой и второй строках метода getFirstRssItem:
Во-первых, компилятор не может найти метод ByField - что мне нужно импортировать?
Во-вторых, компилятор говорит, что не может найти заголовок метода в item
val. В соответствии с wiki liftweb я могу назвать имя поля как метод, но item
имеет тип Box [my.domain.model.RssItem] Что я делаю неправильно?
Модель RssItem:
package my.domain.model
import net.liftweb.mapper._
class RssItem extends KeyedMapper[Long, RssItem] {
def getSingleton = RssItem
def primaryKeyField = id
object id extends MappedLongIndex(this)
object title extends MappedString(this, 255)
object description extends MappedText(this)
object pubDate extends MappedDateTime(this)
}
object RssItem extends RssItem with KeyedMetaMapper[Long, RssItem] {
def dbTable = "items"
}