Я пишу несколько промежуточных программ для Ring, и я очень смущен тем, почему мне приходится менять порядок промежуточного программного обеспечения.
Я нашел этот пост в блоге, но это не объясняет, почему я должен его отменить.
Вот краткий отрывок из сообщения в блоге:
(def app
(wrap-keyword-params (wrap-params my-handler)))
Ответ будет следующим:
{; Trimmed for brevity
:params {"my_param" "54"}}
Обратите внимание, что параметры ключевого слова wrap не вызывались, потому что hash параметров еще не существовал. Но когда вы меняете порядок промежуточного ПО следующим образом:
(def app
(wrap-params (wrap-keyword-params my-handler)))
{; Trimmed for brevity
:params {:my_param "54"}}
Он работает.
Может кто-нибудь объяснить, почему вам нужно изменить порядок промежуточного ПО?