I’ve been using compojure.api for the coercion of request parameters, but I do not fully understand what is every aspect of the syntax means and I could not find answers in the documentation.
This documentation provides the following example:
(GET "/roll/:n/:s" []
:path-params [n :- s/Int
s :- s/Int]
:return Result
:summary "Rolls :n dice of sides :s"
(ok (roll-dice n s)))
and describes the [n :- s/Int s :- s/Int]
as “a vector of names assigned to schema”
What does :- actually mean? Where can I find the documentation of this? Are there alternatives to :-? I would expect so, otherwise the :- could be omitted.
Another question specifically for destructuring and the coercion of maps:
:query-params [{v :- ::version 1}]
What happens here exactly? (I realize that in this example spec is used for coercion).