Scala / Java HTTP解析POST数据表单编码数组

时间:2013-11-11 11:44:33

标签: http scala post finagle finatra

我使用Finatra。如果我发送数据类型为application/x-www-form-urlencoded; charset=UTF-8的POST数据

options[0][name]:option1
options[0][value]:1
options[1][name]:option2
options[1][value]:2

在服务器上获取List (name, value)的好方法是什么?

1 个答案:

答案 0 :(得分:0)

这可以改进,但应该完成这项工作。将参数转换为元组列表即。 List [Tuple [String,String]]。然后迭代匹配param名称case的params并设置值。

(request.params.toList) => Future[ResponseBuilder] {
  var option1: String = null
  var option2: String = null
  for( param <- value) {
    param._1 match {
      case "option1" => option1 = param._2
      case "option2" => option2 = param._2
      case _ => { }
    }
  }
  render.body("some message").toFuture