Автоматическое преобразование Lift Rest не работает - PullRequest
1 голос
/ 03 февраля 2012

У меня ниже Класс отдыха

object MyRest extends RestHelper {
  override implicit val formats =
    net.liftweb.json.DefaultFormats + BigDecimalSerializer

  serveJx[MyRest.AutoJsonXmlAble] {
    case "api" :: "static" :: "item" :: itemId :: Nil Get _ =>
      auto(
        new Item(
          itemId,
          "Name",
          "Disc",
          BigDecimal(5),
          true,
          12,
          12
        )
      )
  }
}

И Класс модели, как показано ниже

case class Item(id: String, name: String,
                description: String,
                price: BigDecimal, taxable: Boolean,
                weightInGrams: Int, qnty: Int)

Но когда я запускаю приложение, я получаю значение ниже

curl -H"Accept:application/json" http://localhost:8080/api/static/item/1234
{
  "id":"1234",
  "name":"Name",
  "description":"Disc",
  "price":5.0,
  "taxable":true,
  "weightInGrams":12,
  "qnty":12
}

curl -H"Accept:application/xml" http://localhost:8080/api/static/item/1234
<?xml version="1.0" encoding="UTF-8"?>
<id>1234</id>

Что здесь не так?Я пытаюсь использовать автоматическое преобразование между XML и JSON.И где я могу получить подробную информацию о модуле отдыха в лифте?

Обновление: Я думаю, что проблема с корневым тегом.Как видно из приведенного выше вывода XML, корневого тега нет.Может ли кто-нибудь подсказать мне, как получить корневой тег с помощью serveJx?

...