我正努力從放入中返回JSON!要求:clojure解放者 - 從放入請求返回json
我的代碼如下所示:
(defn body-as-string [ctx]
(if-let [body (get-in ctx [:request :body])]
(condp instance? body
java.lang.String body
(slurp (io/reader body)))))
(defn orbit-world [dimensions ctx]
(let [in (json/parse-string (body-as-string ctx))]
(json/generate-string in)))
(defn init-world [params]
(let [dimensions (Integer/parseInt params)
world (vec (repeat dimensions (vec (take dimensions (repeatedly #(rand-int 2))))))]
(json/generate-string world)))
(defresource world [dimensions]
:allowed-methods [:get :put]
:available-media-types ["application/json"]
:available-charsets ["utf-8"]
:handle-ok (fn [_] (init-world dimensions))
:put! (fn [ctx] (orbit-world dimensions ctx)))
我只是想返回傳遞給PUT請求早在JSON,直到我明白是怎麼回事什麼。
但是,如果我做一個PUT請求,我得到如下回應:
HTTP/1.1 201創建
日期:太陽2014年5月18日15時35分32秒GMT
內容類型:文本/無格式
的Content-Length:0
服務器:碼頭(7.6.8.v20121106)
我的GET請求返回的JSON,所以我不明白爲什麼PUT請求不是/
它可以真正幫助添加Liberator wrap-trace中間件。然後,您將在答覆中獲得X-Liberator標題,以顯示解放者在各個決策點的狀態。它還顯示你使用了哪個處理程序。在這種情況下,它會顯示正在使用默認的手柄創建。 –