Ошибка Compojure/Ring Routing: неверное количество аргументов
Настройка маршрута, описанная ниже, вызывает ошибку: Wrong number of args (0) passed to: PersistentArrayMap
Может кто-нибудь помочь мне понять эту ошибку и как ее устранить?
(defn sign-in [req]
({:status 200 :body "hello world" :headers {"content-type" "text/plain"}}))
(defroutes paths
(GET "/connect" {} connect-socket)
(POST "/sign-in" {} sign-in)
(route/resources "/")
(route/not-found "Resource not found."))
(def app
(-> (defaults/wrap-defaults #'paths defaults/api-defaults)
wrap-json-params))
1 ответ
Исправьте свою функцию входа, развернув карту ответов
(defn sign-in [req]
{:status 200 :body "hello world" :headers {"content-type" "text/plain"}})
проблема в том, что вы помещаете карту в положение функции (первый элемент списка), и для этого требуется аргумент.
(
{:status 200 :body "hello world" :headers {"content-type" "text/plain"}} ;; function
??? ;; argument
)
в ближайшем будущем, map может действовать как функция с ключом в качестве аргумента и возвращает значение этого ключа, например
({:a 1 :b 2 :c 3} :a)
=> 1