2

clojure でリングを使用して非常に単純な API を作成しようとしています。私は、rack.middleware.format-params ミドルウェアを使用して、出力を json に変換し、json からの入力を clojure データ構造に変換しています。

出力は正常に機能していますが、json を介して送信されたパラメーターにアクセスすることはできません。get リクエストで機能するコードを次に示しますが、POST リクエストで受け取った json を返すことができません

(ns testing.core
  (:use [compojure.core]
        [ring.middleware.format-params :only [wrap-json-params]]
        [ring.middleware.format-response :only [wrap-json-response]]
        [ring.adapter.jetty])
  (:require [compojure.handler :as handler]))

(defroutes app-routes
  (GET "/"
       []
       {:body {:hello "world"}})

  (POST "/"
        {params :params}
        {:body params}))

(def app
  (-> (handler/api app-routes)
      (wrap-json-params)
      (wrap-json-response)))

これを返すだけです:{}

私は何を間違っていますか?

4

1 に答える 1

6

私はばかで、json Content-Type ヘッダーを送信していないことに気付きました。他の誰も同じ愚かな間違いを犯さないことを願っています:P

于 2012-10-31T03:32:36.703 に答える