我正在完成教程Mark McGranaghan REST 教程,但是我正在尝试使用 Noir 来代替。
我可以添加新项目,但它永远不会占用 PUT 命令的主体。
我认为我如何尝试构建 put 语句的问题。我认为 {:keys [id attrs]} 是问题所在,因为我试图告诉它 json 内容在 url 中,而不是在正文中。谁能建议我如何使用 noirs defpage 从身体中检索它?
(放在单独的 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)))