【问题标题】:Send multiple values for one form param in clj-http?在 clj-http 中为一个表单参数发送多个值?
【发布时间】: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


【解决方案1】:

实际上@dAni 是正确的。像上面那样传递一个向量可以正常工作。 debugging endpoint output from Authorize.Net 仅显示最后一个条目,但如果您将客户电子邮件设置为您控制的电子邮件,您将看到列出的您发送的行项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    相关资源
    最近更新 更多