标签: clojure-ring

Ringwrap-json-body不是将json数据转换为关键字映射,而是转换为字符串映射

大约 10 多年前,我在适度涉足 clojure 后又回到了它,所以我可能在这里做了一些愚蠢的事情。

compojure我正在尝试使用服务器编写一个简单的 API ring,现在我已将问题隔离为几行。wrap-json-body我有一条路线和一个处理程序,并且我已按照文档中的建议包装了我的处理程序ring-json

我的handler.clj是这样的:

(defroutes app-routes 
  (PUT "/item/:id" {{id :id} :params body :body} (str id ", " body))
  (route/not-found "Not Found"))

(def app
  (-> app-routes
      (middleware/wrap-json-body)
      (middleware/wrap-json-response)))
Run Code Online (Sandbox Code Playgroud)

这应该很简单,我可以将 clojure 数据返回为 json OK。问题是当我尝试读取PUT请求正文 json 时。

$ curl -XPUT -H "Content-type: application/json" -d '{ "id": 32, "name": "pad" }' 'localhost:3001/item/5'
5, {"id" 32, "name" "pad"}
Run Code Online (Sandbox Code Playgroud)

我希望body充满{:id 32 :name "pad"}

这是整个请求对象:

; (PUT …
Run Code Online (Sandbox Code Playgroud)

clojure compojure clojure-ring

5
推荐指数
1
解决办法
793
查看次数

标签 统计

clojure ×1

clojure-ring ×1

compojure ×1