问题标签 [compojure-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
465 浏览

clojure - What is the difference between body and body-params in compojure-api?

In compojure-api I noticed this two ways of specifying the API of a resource:

and

What are the difference between these two? What are the implications of using one vs the other?

0 投票
1 回答
910 浏览

clojure - compojure-api/schema/swagger 中的非必需参数?

当我有这样的 API 定义时:

使名称可选的适当方法是什么?是吗:

0 投票
1 回答
1710 浏览

clojure - :body-params 与 compojure-api 中的 :form-params

在使用 compojure-api 创建 API 时,在实践中使用 :body-params 和 :form-params 有什么区别?例如:

对比

哪一个应该用于将由单页 clojurescript 应用程序和/或本机移动应用程序使用的 API?

0 投票
1 回答
157 浏览

json - ring.middleware.format_params.cjl 抛出格式错误的 JSON

我使用带有 ring/compojure/swagger 设置的 luminus 模板。

当我提供 REST API 时,我创建了格式错误的 JSON,我得到 500 并且:

我相信我必须拦截此异常,以通知用户已发布格式错误的 JSON 并返回 400。

执行 try/catch 的最佳地点在哪里?

0 投票
1 回答
332 浏览

clojure - 如何在 compojure-api 处理程序中访问会话?

使用 compojure-api,如:

如何访问响铃会话?

0 投票
1 回答
113 浏览

clojure - 在 Compojure-api 中,如何将模式验证应用于特定路由的表单参数?

来自文档compojure-api ... 给定

您可以稍后在代码中执行以下操作:

我的问题是如何为form-params路线实现这一目标?

IE

0 投票
1 回答
645 浏览

clojure - compojure-api 返回值模式或错误

compojure-api允许您定义return架构:

我的问题是当get-pizzafn 返回 404时{:status 404 :body {:message "Invalid id provided"}},响应(对请求者)是 404 与Pizza架构不匹配:

文档显示您可以提供多个响应模式,但我不清楚我的get-pizzafn 应该返回什么以利用这些模式。get-pizza他们的示例使用 ring-http-response 库生成返回值,但我的返回值 for和ring-http-response 'not found' fn之间没有区别。

老实说,如果可能的话,我宁愿不使用:responses参数,因为我已经可以预见到所有的代码重复。在指定:return架构之前,我能够让我的get-pizzafn 返回 404 并正确传递给请求者,但是一旦我添加了架构,我就无法再这样做了。我考虑让返回值是:return (s/one Pizza Error)一个Error通用定义的错误映射,但我不明白为什么如果理论上所有调用都可以返回 500,我为什么要为每条路由执行此操作。

注意:我转而使用:return参数的原因是它使生成的 swagger-ui 文档更漂亮且更易于理解。

0 投票
2 回答
623 浏览

clojure - 如何制作一个不带参数并返回常量值的文字函数?

我正在尝试学习 Clojure,并且被文字函数语法所困。我不知道字面函数等价物(defn fourteen [] 14)是什么。

我不认为这是一个匿名函数在 clojure 中期望有多少参数?,但也许是这样,我只是没有经验来认识到这一点。

我如何或可以定义 literal-14 以允许(literal-14)调用工作?

0 投票
2 回答
3904 浏览

clojure - compojure-api 的可选查询参数(具有默认值)

使用时使用默认值声明可选查询参数的正确方法是什么compojure-api

我的路线元素之一如下(阅读后

起初,布尔参数定义为其他参数(例如show-future Boolean),但生成的 Swagger UI 将它们显示true为默认值的组合框。在当前表单中,UI 显示了一个未选择任何选项的组合框。租户也是如此。

一个问题:当我使用 Swagger 生成的 UI 发送请求并返回错误时:"levels": "(not (instance? java.lang.Integer \"2\"))". 这是为什么?库不应该将字符串值强制/转换为 API 声明的指定类型吗?

提前致谢。

0 投票
1 回答
283 浏览

clojure - Compojure:如何将查询参数作为地图获取

我刚刚使用这个文档通过 Luminus 创建了我的 RESTful 服务:http ://www.luminusweb.net/docs/services.md

显然 Compojure-API 使用 Schema 库来映射查询参数。但是,我希望能够将所有查询参数作为一个映射来获取。例如:

从这里GET /api/myapp?color=green&shape=round&height=100 到这里{:color "green", :shape "round", :height "100"}

谢谢!