gpt4 book ai didi

json - Clojure Noir Json Put

转载 作者:行者123 更新时间:2023-12-04 20:52:32 25 4
gpt4 key购买 nike

我正在学习教程 Mark McGranaghan REST Tutorial但是我正在尝试使用 Noir 来代替。

我可以添加新项目,但它永远不会占用 PUT 命令的主体。

我认为问题在于我如何尝试构建 put 语句。我认为 {:keys [id attrs]} 是问题所在,因为我试图告诉它 json 内容在 url 中,如果不是,则在正文中。谁能告诉我如何使用 noirs defpage 从 body 中检索它?

(放在单独的 elem 文件中)

(defn put [id attrs]
(let [new-attrs (merge (get id) attrs)]
(swap! elems assoc id new-attrs)
new-attrs))

(defpage [:put "/elems/:id"] {:keys [id attrs]}
(json-response (elem/put id attrs)))

最佳答案

如果您在帖子中传递“attrs=somevalue”,那么这将起作用,但是如果您试图捕获所有键值对,这在 1.3.0-beta1 中对我有用:

(defpage [:put "/elems/:id"] attrs 
(response/json {:attrs attrs}))

然后:
$ curl -H "Accept: application/json" -X PUT -d "foo=bar" http://localhost:8080/elems/123
=> {"attrs":{"id":"123","foo":"bar"}}

关于json - Clojure Noir Json Put,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779634/

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