2016-04-11 9 views
1

へのPOST要求からPOST本体データを取得する私のようなそのエンドポイントをルーティングされています。私の心にそう私は台座のエンドポイント「/私のポストにデータを掲載しているペデスタル

[[["/" {:get landing} ^:interceptors [(body-params/body-params) ...] 
    ["/my-post {:post mypost-handler} 
    .... 

この手段。ボディのparamsインターセプタは/ mypostすぎのために発火することmypost-ハンドラで

を私が持っている:

(defn mypost-handler 
    [request] 
    ****HOW TO ACCESS THEN FORM DATA HERE **** 
)  

を、私は今ここにフォームデータにアクセスするにはどうすればよい私は要求を印刷から見ることができますか? #object [org .eclipse.jetty.sever.HttpInputOverHTTP ..]それは明らかに私に役立ちます前にさらに処理が必要になります。

(私は台座のドキュメントがせいぜい...かなり大ざっぱである、と言わなければならない)

答えて

2

何かこれはうまくいくはずです。 mypostハンドラのルート上のbody-paramsインターセプタに注意してください。

(defn mypost-handler 
    [{:keys [headers params json-params path-params] :as request}] 
    ;; json-params is the posted json, so 
    ;; (:name json-params) will be the value (i.e. John) of name property of the posted json {"name": "John"} 
    ;; handle request 
    {:status 200 
    :body "ok"}) 

(defroutes routes 
    [[["/mypost-handler" {:post mypost-handler} 
    ^:interceptors [(body-params/body-params)] 
    ] 
    ]]) 
0

mypost-handler iは、リングハンドラとして機能しています。 e。それはリング要求マップを受け入れ、リング応答マップを返すべきである。あなたのルートテーブルで、このようなハンドラを定義上

(defn mypost-handler 
    [{:keys [headers params json-params path-params] :as request}] 
    ;; handle request 
    {:status 200 
    :body "ok"}) 

Here's more relevant info:したがって、あなたは典型的なリング要求構造を期待することができます。

+0

ありがとうございます。しかし、私は実際にどのようにデータを実際に保持するのかはまだ分かりません。 – Zuriar

関連する問題