在clojure请求中传递可选的:query param



我已经开始学习clojure,并且有一个用例,我想用查询参数调用下游服务。现在,这些查询参数可以变化,也可以不存在。我一直纠结于如何使用clojure来实现它。任何有经验的人的帮助都将是伟大的!

(defn- call-stud-service* [name id college_id course city]
(let [base-url-prefix       (get-in config [:url :student-service])
student-service-url   (str (url base-url-prefix base-path))]
{:connection-manager connection-manager
:throw-exceptions   false
:headers            {:Content-Type        "application/json"
:Accept              "application/json"}
:query-params       {"name"       name
"id"         id
"college_id" college_id
"course"     course}}))

我的用例是:如果我有额外的参数city,我可以在请求中将其作为查询参数传递,否则我不会。

我考虑过可能使用assoc来附加查询参数,但不确定是否有效。

使用cond->:

(cond-> query-params
city (assoc "city" city))

相关内容

  • 没有找到相关文章

最新更新