状態を最も便利に (グローバル変数を使用せずに) リング ハンドラーに挿入するにはどうすればよいですか?
次に例を示します。
(defroutes main-routes
(GET "/api/fu" [] (rest-of-the-app the-state)))
(def app
(-> (handler/api main-routes)))
the-state
の compojure ハンドラに入りたいと思いmain-routes
ます。状態は、次のように作成されたマップのようなものである可能性があります。
(defn create-app-state []
{:db (connect-to-db)
:log (create-log)})
非リング アプリケーションでは、メイン関数で状態を作成し、アプリケーションのさまざまなコンポーネントへの関数パラメーターとして、状態またはその一部を注入し始めます。
:init
グローバル変数を使用せずに、リングの機能で同様のことを行うことはできますか?