如何在 ktor 中接收 POST 数组参数?
Posted
技术标签:
【中文标题】如何在 ktor 中接收 POST 数组参数?【英文标题】:How to receive POST array params in ktor? 【发布时间】:2019-10-20 15:06:45 【问题描述】:无法接收帖子正文数组参数
$.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
【问题讨论】:
你能告诉我们你的 ktor 设置吗?我认为params
是一张地图,不像json那样工作。
我相信你在这里遗漏了一些东西,也许是解析。你在使用一些 Moshi 或 Gson 来解析那个 JSON 吗?\
【参考方案1】:
你可以使用call.receiveParameters().getAll("array[]")
。
在哪里<input name="array[]">
。
但我建议使用断点,并尝试调试 Ktor 实际如何解析您的有效负载。
【讨论】:
以上是关于如何在 ktor 中接收 POST 数组参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ktor kotlin 通过 POST 发送 JSON 字符串?