ring-middleware-format

1146 ワード

概要
ring-middleware-formatは、要求mapの:bodyを解析し、応答mapの:bodyをシーケンス化する一連のRingミドルウェアである.JSON/MessagePack/YAML/EDN/Transit over JSON/Msgpackをサポートし、フォーマットをカスタマイズできます.
wrap-restful-format
このミドルウェア関数は、組み込まれたすべてのフォーマットをサポートし、オプションの:formatsパラメータを受け入れて、処理するフォーマットを構成し、リストの最初の項目はデフォルトのシーケンス化フォーマットとして同時に使用されます.たとえば
(wrap-restful-format handler :formats [:json :edn :yaml])

コンテンツがjson形式(アプリケーション/json)のリクエストに対して、wrap-restful-formatはparamsおよびbody-paramsを追加しました.次のリクエストに対して
(mock/content-type
  (mock/body
    (mock/request :post "/hello")
    "{\"x\":1}")
  "application/json")

jsonをwrap-restful-formatで処理する
(def app
  (wrap-restful-format
    (fn [request] (println request) {})
    :formats [:json]))

(app request)

印刷されたリクエストが表示されます
{:params {x 1}, :body-params {x 1}, ...}

まとめると、wrap−restful−formatの:jsonフォーマット処理application/json要求は、bodyのjsonオブジェクトを解析し、jsonオブジェクトの属性および値をパラメータの:paramsおよび:body-paramsに格納する.