Как извлечь параметр пути из конечного маршрута бэкэнда 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.

Другие вопросы по тегам