Si tengo la solicitud "size=3&mean=1&sd=3&type=pdf&distr=normal"
cuál es la forma idiomática de escribir la función (defn request->map [request] ...)
que toma esta solicitud y vuelve un mapa {:size 3, :mean 1, :sd 3, :type pdf, :distr normal}
Cómo analizar los parámetros de URL en Clojure?
Aquí está mi intento (usando clojure.walk y clojure.string):
(defn request-to-map
[request]
(keywordize-keys
(apply hash-map
(split request #"(&|=)"))))
Estoy interesado en cómo otros resolverían este problema.
Tenga en cuenta que durante los años la clase UrlEncoded ha cambiado y el código anterior no funciona en Jetty 9.2.10. Esto funciona: (defn- análisis sintáctico-query-string [consulta] (- >> consulta urlencoded (en {}) (clojure.algo.generic..functor/fmap primero))) – skrii