Clojure http-kit:获取查询参数作为地图?

Clojure http-kit: get query params as map?

我有一个带有端点 .../end2 的服务器,我向其发送参数,例如:

.../end2?a=2&b=1

如何获得地图{:a 2 :b 1}?我以为 (:params request) 是要走的路,但我得到一张空地图..

假设您使用的是 compojure,参数不会自动绑定到请求,必须应用环中间件来执行此操作:

(defroutes app-routes
  (GET "/end2" request (str (:params request))))

(def app
  (-> app-routes
      ring.middleware.params/wrap-params))

(run-server #'app {:port 8888})

您需要添加环中间件来解析参数。你可以查看 ring default

您不必担心嵌套参数或其他参数。