reitit

oyakushev 2024-11-11T23:01:49.794989Z

Hi, here's a note from the other side of madness. I must be missing something incredibly obvious here but I'm banging my head against the wall for a good hour now. Could somebody please help?

(ns one
  (:require [reitit.coercion.malli]
            [reitit.ring :as ring]
            [reitit.ring.coercion :as ring-coercion]
            [reitit.ring.middleware.parameters :refer [parameters-middleware]]))

(def app
  (ring/ring-handler
   (ring/router
    ["" {:middleware [[parameters-middleware]]}
     ["/foo" {:get {:handler (fn [req] req)
                    :coercion reitit.coercion.malli/coercion
                    :parameters {:query {:a :int, :b :int}}
                    }}]]
    {:data {:middleware [ring-coercion/coerce-exceptions-middleware
                         ring-coercion/coerce-request-middleware]}})))

(app {:uri "/foo"
      :query-string "a=1&b=2"
      :request-method :get})
;; Fails with coercion error because :query-params is apparently always null.

Ben Sless 2024-11-12T03:58:56.950279Z

Why is parameters middleware in double vector?

👍 1