【发布时间】:2015-04-29 12:42:03
【问题描述】:
(defn do-request [url query-map]
"Executes HTTP client"
(client/post url {:form-params query-map}))
(do-request "http://foo.com/api" {:a [val1 val2 val3]})
我需要为单个键发送多个值。 API 文档声明我需要像 foo.com/api?a=val1&a=val2&a=val3 一样传递它们,但是当我通过上面的 clj-http 传递它时,它只会传递 foo.com/api?a=val3。
(有关更多详细信息,我正在使用 Authorize.Net 的 3.1 版基于 CSV 的 API 并尝试添加定义为如上所述工作的 x_line_item。)
【问题讨论】:
-
为我工作。注意 :form-params 生成一个带有 a=val1&a=val2&a=val3 的正文,而 :query-params 生成一个查询字符串。
-
上述解决方案存在一些问题。使用数组会产生一组参数,其中包括作为名称一部分的相应索引,例如 a[1]=foo&a[0]=bar
标签: api http clojure authorize.net