Maps and keywords
Theory: maps and keywordsλ︎
When a request is received by our application, it is converted from by Jetty to a servlet request. Ring then converts this to a Clojure map called
request. All handlers in our application take a request map as an argument.
A map in Clojure contains one or more key / value pairs, you may be familiar with the term hash map. The keys in these maps are often defined using a Clojure keyword. A keyword is a symbol that points to itself and so therefore is unique within a specific scope. A keyword makes it very easy to get a value from a map and acts as a function on the map to return its associated value
So, assume we have defined a map called
request. This map contains a key defined with the
:uri keyword. We can get the value associated with the key using the keyword as a function
get is functions that helps us get data from maps. The function
get-in helps us get data from nested levels of maps.