i idiomatic way of handling optional query parameters in compojure , assign undefined query parameters default value.
i've tried (which perhaps doesn't work):
(get "/something/:id" [id q :<< as-int :or {q (system/currenttimemillis)}] ....)
i'd route match both:
curl /something/123
and
curl /something/123?q=234542345
(note similar question has been posted here uses swagger)
there lots of options take. 1 might choose.
(get "/something/:id" req (let [{:keys [id q] :or {q (system/currenttimemillis)}} (:params req)] ,,,))
ultimately, though, 1 chose depend on whatever led readable (a subjective measurement, that's way goes) code.
Comments
Post a Comment