Как удобно вводить состояние в обработчики меток (без использования глобальных варов)?
Вот пример:
(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)})
В нелокальном приложении я создам состояние в основной функции и начну вводить его или его части в качестве функциональных параметров для разных компонентов приложения.
Можно ли что-то подобное сделать с помощью функции ring :init
без использования глобального var?