Как извлечь параметр пути из конечного маршрута бэкэнда Reitit
Как получить параметр пути из маршрута Clojure бэкэнда Reitit? Я пытаюсь связать val с:id
следующим образом, но продолжайте получать ошибку 404 файл не найден в REPL.
["/foo/:id" {:get
(fn [{:keys [path-params ]}]
(some-ns/some-fn (:id path-params)))}]
Я пробовал использовать документацию на https://luminusweb.com/docs/routes.html и https://github.com/metosin/reitit/blob/master/README.md.
1 ответ
Уничтожьте параметры пути из запроса, а затем извлеките идентификатор.
(defn project-routes
"SPA routing"
[]
["" {:middleware [middleware/wrap-base
middleware/wrap-formats]}
["/foo"
["/bar/:id"
{:get (fn [{:keys [path-params] :as _req}]
(http-response/ok
(core/READ some-table
(Integer/valueOf (:id path-params)))))}]]])
Документация и примеры взяты с https://github.com/luminus-framework/luminus-docs/blob/master/resources/md/sessions_cookies.md. Использовались контроллеры, как описано в https://clojureverse.org/t/how-do-you-accomplish-spa-re-frame-teardown/5516/6.