如何在ktor中接收POST数组参数?

时间:2019-06-05 05:44:15

标签: kotlin ktor

无法接收后身体数组参数

$.post(
  'http://some_url/url',
  {
    order_items: [
      {
        order_item_id: 1,
        action_id: 1,
        fulfillment_time: "String 1"
      },
      {
        order_item_id: 2,
        action_id: 2,
        fulfillment_time: "string 2"}
    ]
  }
);
post("/url") {
    val params = call.receiveParameters()
}

我得到了阵列/地图:

order_items[0][order_item_id]=[1],
order_items[0][action_id]=[1],
order_items[0][fulfillment_time]=[1s],
order_items[1][order_item_id]=[2],
order_items[1][action_id]=[2],
order_items[1][fulfillment_time]=[2s]

我无法获得参数order_items

val p1 = params.get("order_items") //null
val p2 = params.get("order_items[0][order_item_id]") //1

1 个答案:

答案 0 :(得分:0)

您可以使用call.receiveParameters().getAll("array[]")

<input name="array[]">处。

但是我建议使用断点并尝试调试,Ktor实际上是如何解析您的有效负载的。