9

私は edn 仕様を読んでいて、それを自分のアプリケーションに統合したいと考えています。ただし、clojure とクライアントの間で edn リクエストを転送する方法がわかりません。content-type application/edn を応答ヘッダーに入れて、prn 出力文字列を送信するだけですか?

4

1 に答える 1

4

まだIANAに承認されていませんが(2013 年 6 月 14 日)、正しい content-type はapplication/edn. clojure オブジェクトの有効な文字列出力を提供するには、(pr-str obj). Web サービスの場合、エンコードとデコードの方法は、Web フレームワークとニーズによって異なります。

Pedestalは、インターセプター:edn-paramsを使用して、リクエスト マップ上のキーへの edn の解析をサポートします。body-params応答本文が文字列でない場合、edn としての clojure オブジェクトの送信は自動的に処理されます。content-negotiation については、pedestal-content-negotiationを参照してください。

リング ミドルウェアの場合、ring-ednは edn をキーに解析し:edn-paramsますが、アウトバウンドの変更は行いません。 ring-middleware-formatは、一握りの異なる形式を:body-paramsキーに解析し、応答にも役立つミドルウェアのコレクションを提供します。このようなリング ミドルウェア プロジェクトは他にもいくつかあります。

于 2013-06-14T12:51:23.140 に答える