问题标签 [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 回答
265 浏览

clojure - Compojure-api 不尊重来自 ring.mock.requests 的主体

我正在尝试使用 ring.mock.requests 库来测试 http 服务。我有这段代码

带有线程优先宏的内部部分似乎可以正常工作,但是当我尝试向 auth-routes 发出模拟请求时它失败了

这是我的路线:

这是我的架构:

我看到的例外是

看起来我的路线nil就像身体一样,我希望{:username "user" :password "pass"}在那里。

我做错了什么,如何将尸体传递到这条路线?

0 投票
1 回答
854 浏览

clojure - 测试期间的胭脂红连接错误

我有一个带有一些简单 compojure-api 路由的 luminus 项目。我添加carmine了与 redis 服务器通信,使用wcar*宏(在 services.clj 中定义)对其进行调用,一切正常。

现在我正在尝试添加一些测试,但似乎 redis 连接在它们期间无法正常工作,因为我收到此错误lein test

ERROR 胭脂红连接错误

clojure.lang.ExceptionInfo:胭脂红连接错误{}

由于它在deveprod环境中工作,我认为这与环境env中缺少负载有关test,但我没有找到解决它的方法。

这些是正在使用的代码的相关部分:

测试.clj

服务.clj

处理程序.clj

Profiles.clj

配置文件

解决方案

mount/start使用在测试之前执行的命令添加文本夹具。

添加到test.clj

0 投票
1 回答
303 浏览

clojure - Compojure-Api 返回模式对象的向量

我已经开始学习 Luminus 框架以进入用于 Web 应用程序的 Clojure(脚本)。对于 RESTful 服务框架,建议使用 swagger/compojure-api。示例很有帮助,但我找不到任何用于返回集合的示例。

这是我的模型:

和康曼查询:

对于服务,有一个模式(由于 java 的线程,它被称为 Threadd):

最后,在 service-routes(defapi表达式)中,简单的 GET:

应用程序运行,Swagger-UI 在我的请求中返回这个(edn 格式):

不幸的是,这对我来说并不明显。如何返回指定架构的多个对象?我可以以transit+json格式退回它们吗?

0 投票
1 回答
227 浏览

clojure - Compojure-api 删除第一组 API 路由后的 body-param

我目前正在使用带有 +swagger 选项的Luminus模板,它添加了 compojure-api 支持。

我目前的设置是这样的(只有相关位):

当服务器接收到请求时,它被传递给app-routes. 然后我使用 Swagger UI 来测试这些路由,并且"/login"路由运行良好。然而,完全相似的"/login2"回报

当我切换两个服务组的顺序时,结果符合预期:第一个路由工作正常,而第二个不会收到body.

这是 Compojure-api 本身的错误吗?我能做些什么来解决这个问题吗?

0 投票
1 回答
36 浏览

clojure - 使用 schema.core 时避免重复

我已经定义了以下架构:

然后在一条路线中,我在 JSON 响应中使用相同的键:

有没有一种优雅的方法来避免键名的重复?类似于构造函数的方法,我可以只传递值吗?(也许以某种特定的顺序)

0 投票
2 回答
1054 浏览

clojure - 如何在 compojure 响应中明确设置内容类型?

我正在使用 compojure-api 并且在尝试为我的简单 web 应用程序管理 Content-Type 时被阻止。我想要的是发出一个纯文本/文本的 HTTP 响应,但不知何故 Compojure-API 不断将其设置为“application/json”。

但 curl 显示服务器响应 Content-Type:application/json。

我的日志显示该函数请求“纯文本”,但不知何故框架胜过了它。

如何在 Compojure-API Ring 应用程序中控制 Content-Type?

0 投票
1 回答
590 浏览

clojure - Clojure - 环流响应

我收到了一个我不知道如何处理的环形流响应。

我将一个参数传递给我的 ajax POST,当它到达我的 compojure 路由中的函数时,而不是我传入的原始参数,我得到一个环形流响应

为什么会这样?

身体(我相信我的参数所在的地方)是

我该如何处理以获取我的参数?

我的参数应该是形式{:id id :pass pass}

谢谢

0 投票
1 回答
263 浏览

clojure - 为什么组合路由定义为宏?

例如 Luminus网站指出

Compojure 路由定义只是接受请求映射并返回响应映射的函数......

但是组合路由不是函数

可以使用make-route返回函数的函数,但不允许解构。因此,作为一个函数,您不能使用 compojure 的特殊语法进行解构(即向量),但这会阻止任何形式的解构吗?宏是否给他们带来了性能提升?

不能使用宏包装器将破坏语法传递给函数吗?

0 投票
1 回答
343 浏览

clojure - Compojure Rest API:以 JSON 格式显示正文响应

我是compojure api的新手。

如何以 JSON 格式显示正文响应?

这是我写的代码

核心.clj

代码输出为:

如何:body将响应显示为 JSON 格式。

我需要以这种方式显示数据

0 投票
1 回答
437 浏览

clojure - Clojure:defrecord 和 defschema 之间的区别

我是clojure的新手。我想从数据库中获取带有字段的 x 记录,并想将记录插入数据库。在这种情况下,defrecord我应该使用哪一次?defschema

那些是一样的吗?