compojure обработчики получить всю карту запрос в качестве аргумента, поэтому обработчик имеет также доступ ко всем параметрам. Например, чтобы увидеть весь запрос:
(POST "/" request
(str request))
или, чтобы извлечь все параметры формы:
(POST "/" request
(str (:form-params request)))
Синтаксис, используемый в этом вопросе является compojure конкретных destructuring syntax, что позволяет извлекать отдельные параметры из запрос. Это похоже на обычном синтаксис деструктурирующего Clojure, и, как и с обычной деструктуризацией, деструктурирующий compjure также позволяет смешивание деструктурирующего и по-прежнему получать весь запрос:
(POST "/" [param1 param2 :as request]
(str (:form-params request)))
или экстракцию имя и все «дополнительными» параметры:
(POST "/" [param1 param2 & more-params]
(str more-params))