问题标签 [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.
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?
clojure - compojure-api/schema/swagger 中的非必需参数?
当我有这样的 API 定义时:
使名称可选的适当方法是什么?是吗:
clojure - :body-params 与 compojure-api 中的 :form-params
在使用 compojure-api 创建 API 时,在实践中使用 :body-params 和 :form-params 有什么区别?例如:
对比
哪一个应该用于将由单页 clojurescript 应用程序和/或本机移动应用程序使用的 API?
json - ring.middleware.format_params.cjl 抛出格式错误的 JSON
我使用带有 ring/compojure/swagger 设置的 luminus 模板。
当我提供 REST API 时,我创建了格式错误的 JSON,我得到 500 并且:
我相信我必须拦截此异常,以通知用户已发布格式错误的 JSON 并返回 400。
执行 try/catch 的最佳地点在哪里?
clojure - 如何在 compojure-api 处理程序中访问会话?
使用 compojure-api,如:
如何访问响铃会话?
clojure - compojure-api 返回值模式或错误
compojure-api允许您定义return
架构:
我的问题是当get-pizza
fn 返回 404时{:status 404 :body {:message "Invalid id provided"}}
,响应(对请求者)是 404 与Pizza
架构不匹配:
文档显示您可以提供多个响应模式,但我不清楚我的get-pizza
fn 应该返回什么以利用这些模式。get-pizza
他们的示例使用 ring-http-response 库生成返回值,但我的返回值 for和ring-http-response 'not found' fn之间没有区别。
老实说,如果可能的话,我宁愿不使用:responses
参数,因为我已经可以预见到所有的代码重复。在指定:return
架构之前,我能够让我的get-pizza
fn 返回 404 并正确传递给请求者,但是一旦我添加了架构,我就无法再这样做了。我考虑让返回值是:return (s/one Pizza Error)
一个Error
通用定义的错误映射,但我不明白为什么如果理论上所有调用都可以返回 500,我为什么要为每条路由执行此操作。
注意:我转而使用:return
参数的原因是它使生成的 swagger-ui 文档更漂亮且更易于理解。
clojure - 如何制作一个不带参数并返回常量值的文字函数?
我正在尝试学习 Clojure,并且被文字函数语法所困。我不知道字面函数等价物(defn fourteen [] 14)
是什么。
我不认为这是一个匿名函数在 clojure 中期望有多少参数?,但也许是这样,我只是没有经验来认识到这一点。
我如何或可以定义 literal-14 以允许(literal-14)
调用工作?
clojure - compojure-api 的可选查询参数(具有默认值)
使用时使用默认值声明可选查询参数的正确方法是什么compojure-api
?
我的路线元素之一如下(阅读后):
起初,布尔参数定义为其他参数(例如show-future Boolean
),但生成的 Swagger UI 将它们显示true
为默认值的组合框。在当前表单中,UI 显示了一个未选择任何选项的组合框。租户也是如此。
一个问题:当我使用 Swagger 生成的 UI 发送请求并返回错误时:"levels": "(not (instance? java.lang.Integer \"2\"))"
. 这是为什么?库不应该将字符串值强制/转换为 API 声明的指定类型吗?
提前致谢。
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"}
谢谢!