Вот мой код:Получить карту Clojure из запроса POST
(ns cowl.server
(:use compojure.core)
(:require [ring.adapter.jetty :as jetty]
[ring.middleware.params :as params]
[ring.middleware.json :refer [wrap-json-response]]
[ring.util.response :refer [response]]
[clojure.data.json :as json]
[cowl.db :as db]))
(defroutes main-routes
(POST "/api/news/as-read" { body :body }
(str (json/read-str (slurp body))))))
(def app
(-> main-routes
wrap-json-response))
(defn serve []
(jetty/run-jetty app {:port 3000}))
Если я отправляю этот JSON: { "name": "demas" }
я {"name" "demas"}
. Но это не карта Clojure.
Мне нужно что-то вроде (:name (json/read-str (slurp body)))
. Как я могу его получить?
'{" name "" demas "}' действительно карта clojure. вы можете иметь что угодно для ключа и для значения. и на карте clojure нет двоеточий. – johnbakers
Спасибо. Помогает мне. – demas