将表格数据喷洒到案例类别

时间:2016-04-28 14:26:29

标签: scala spray

Scala新手对我很轻松!

我正在使用spray atm并在其中发布请求。我希望将帖子数据转换为案例类,但它会引发错误could not find implicit value for parameter um: spray.httpx.unmarshalling.FromRequestUnmarshaller。我可能做错了什么?文档有点令人困惑。

post {
    entity(as[TextMessage]) { txt =>
        println(txt.body)
        complete("")
    }
}

我的案例类case class TextMessage( body: String, from: String)

从文档来看,这应该可以解决问题。

想法?

修改:数据未作为JSON发布,并以表单数据的形式发布,即application/x-www-form-urlencoded

2 个答案:

答案 0 :(得分:0)

确保TextMessage类型的JsonFormat在范围内,以便Spray可以找到如何编组该类型。

选中此link

答案 1 :(得分:0)

我还没有用喷雾解析表单数据,所以我不知道是否存在更简单的方法,但我会使用formFields指令。

val textMessageEntity = formFields('body, 'from).as(TextMessage)

post {
    textMessageEntity { txt =>
        println(txt.body)
        complete("")
    }
}

以下是有关formFields指令的更多信息:http://spray.io/documentation/1.2.2/spray-routing/form-field-directives/formFields/