如何从HTML表单发布到Spray.io REST服务?

时间:2015-01-07 23:50:56

标签: spray

我在spray.io中托管了一个简单的REST服务。如果我从一个传递JSON的http客户端调用该服务,我可以将json编码的数据编组到一个实体,一切正常。

但是,HTML表单无法发布json,那么如何将表单编码数据转换为喷涂端点(路由)中的实体?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您需要在端点上提取表单数据。您可以使用formFieldformFields指令: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]
    }
  }