gpt4 book ai didi

clojure - 你如何访问 :headers inside compojure function

转载 作者:行者123 更新时间:2023-12-04 05:31:50 24 4
gpt4 key购买 nike

org.clojure/clojure-contrib “1.2.0”
环“1.1.8”
合成“1.1.5”
影响力“1.1.0”

(defroutes rest-routes
(GET "/" [] "<p> Hello </p>")
(POST "/api/v1/:stor/sync" [stor] (start-sync stor))
(POST ["/api/v1/:stor/:txn/data/:file" :file #".*"] [stor txn file] (txn-add stor txn file))
(ANY "*" [] "<p>Page not found. </p>"))

在第二个 POST 中,我还想将所有 http-headers 传递给“txn-add”处理程序。我做了很多谷歌并查看代码,但找不到任何有用的东西。

我知道,我可以使用以下内容传递 header (但它不解析 url 请求),
(POST "/api/v1"
{headers :headers} (txn-add "dummy stor" "dummy txn" headers))

另外,如何将 POST 请求的内容(即:body)传递给“txn-add”?

最佳答案

如果 GET、POST 等的第二个参数不是向量,它是 request 的解构绑定(bind)形式.这意味着您可以执行以下操作:

(GET "/my/path"
{:keys [headers params body] :as request}
(my-fn headers body request))

挑选 request的零件你要。见 the Ring SPECClojure's docs on binding & destructuring

关于clojure - 你如何访问 :headers inside compojure function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com