我在spray.io中托管了一个简单的REST服务。如果我从一个传递JSON的http客户端调用该服务,我可以将json编码的数据编组到一个实体,一切正常。
但是,HTML表单无法发布json,那么如何将表单编码数据转换为喷涂端点(路由)中的实体?
答案 0 :(得分:0)
如果我正确理解您的问题,您需要在端点上提取表单数据。您可以使用formField
和formFields
指令:http://spray.io/documentation/1.2.2/spray-routing/form-field-directives/formFields/#formfields
请看http://spray.io/documentation/1.2.2/spray-routing/#longer-example,特别是以下部分:
// method tunneling via query param
(put | parameter('method ! "put")) {
// form extraction from multipart or www-url-encoded forms
formFields('email, 'total.as[Money]).as(Order) { order =>
complete {
// complete with serialized Future result
(myDbActor ? Update(order)).mapTo[TransactionResult]
}
}