I can get to the request parameters easily with:
(:foo params)
However, when I have a request like this:
/api?foo=1&foo=2&foo=3
I only get back "3"
while I would expect an array ["1","2","3"]
.
I'm not sure why this is happening because when I look at the code in:
https://github.com/ring-clojure/ring-codec/blob/master/src/ring/util/codec.clj#L128
It seems to call assoc-conj
which is supposed to turn multiple params of the same name into a vector containing the values.
Am I missing something here or is this a bug?
use a standard Clojure destructuring form:
(GET "/api" {{:strs [foo]} :query-params} (str foo))
curl "http://localhost:3000/api?foo=1&foo=2&foo=3"
==> ["1" "2" "3"]
doc: https://github.com/weavejester/compojure/wiki/Destructuring-Syntax
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With