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
答案 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/