gpt4 book ai didi

api - 如何使用 reitit clojure 定义可选查询参数

转载 作者:行者123 更新时间:2023-12-04 14:52:38 26 4
gpt4 key购买 nike

我使用以下代码创建了一个 API:

   ["/environments/:env-name/nodes"
{:swagger {:tags ["Nodes"]}
:parameters {:path {:env-name ::vt-vali/name}}}
[""
{:get {:summary "Retrieve the nodes from this environment"
:parameters {:query {:date ::vt-vali/timestamp}}
:responses {200 {:body map?}}
:handler (fn [{{{:keys [env-name]} :path
{:keys [date]} :query} :parameters}]
(let [result (vt-data/ret-nodes env-name date)]
(if (s/valid? map? result)
{:status 200
:body result}
{:status 500
:body result})))}}]]

这非常有效。但是,我想让查询参数可选。

谁能帮我解决这个问题?

最佳答案

我通过搜索 metosin/reitit 中的示例找到了答案。

可以使用 clojure.spec.alpha。将 [clojure.spec.alpha :as s] 添加到命名空间所需的依赖项中,您可以使用:

:parameters {:query (s/keys :opt-un [::date])}

请参阅此文件以获取 metosin/reitit 中的示例 http-swagger example

关于api - 如何使用 reitit clojure 定义可选查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68824149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com