问题标签 [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 投票
2 回答
766 浏览

clojure - Clojure,Compojure:阅读帖子请求 RAW Json

我能够阅读 Post Request 的 RAW JSON。但不确定我是否以正确的方式进行操作?

代码

POST 请求的原始 JSON

使用此行(:name (:artwork (:params params)))从上述 RAW Json 中获取“名称”值。

如果我没有以正确的方式做事,请指导我什么是正确的方式?

0 投票
4 回答
848 浏览

clojure - Clojure, Compojure: Path Parameter always getting passed as String in Compojure API

I am passing path parameter to fetch data from Database.

End Point

http://localhost:3000/hello/1000

GET Method Code

Code

When I hit the end Point from Postman I get this error,

I have come to know the value id is being passed as String value to query.

What is the best way to change Path paramter type to Number before passing to Query?

0 投票
3 回答
1086 浏览

clojure - Clojure,Compojure-api:访问请求标头

我正在尝试实现请求端点身份验证。为此,我想从请求标头访问 accessToken 值。

我的 GET 请求终点是

卷曲命令

HTTP 命令

我的 GET 方法实现代码

我想accessKey: 23423sfsdfsdfsfg从请求头中获取。

有什么方法可以在我的 GET 方法中获取价值和使用?

我正在使用 POSTMAN 来测试所有 API 端点。

0 投票
0 回答
595 浏览

clojure - Clojure, Compojure: How Can I add Ring middleware CORS to ring adapter jetty based project?

I am using ring adapter jetty server in my compojure api project. Now I want to add ring middleware CORS to my Project. How should I add and where should I add ring middleware CORS in my project?

These are my project code snippets

API

Method to Run the api on Jetty

Here core/app is the above API function path and t/test another API function(I have not provided the code here).

0 投票
1 回答
274 浏览

clojure - 响应主体上的 compojure-api 规范强制

我试图弄清楚如何使用 compojure-api 和规范进行自定义强制。通过阅读文档和代码,我已经能够对输入(主体)进行强制,但无法对响应主体进行强制。

具体来说,我有一个自定义类型,一个时间戳,它在我的应用程序中表示为 long,但对于 Web API,我想使用并返回 ISO 时间戳(不,我不想在内部使用 Joda)。

以下是我拥有的可用于输入强制的内容,但我无法正确强制响应。

0 投票
1 回答
116 浏览

clojure - 获取给定请求的路由记录(或:名称)

我正在使用 compojure-api,我正在寻找一个函数,给定我的 api 路由结构和请求,返回该请求的路由记录(或:名称),而不应用其处理程序。

我已经能够在 compojure.api.routes/path-for 中找到与我正在寻找的相反的东西,给定一个 :name,它会返回相应路由的路径。在同一个命名空间中,还有像 get-routes 这样看起来很有前途的功能,但我还没有找到我正在寻找的东西。

换句话说,给定这个简单的例子

我正在寻找一个像这样工作的函数 foo

有任何想法吗?

0 投票
3 回答
288 浏览

clojure - 如何绑定动态变量?

如何在 compojure 中绑定动态变量?请参阅下面的示例,这里的 request-id 是为每个 api 请求生成的唯一 uuid。我希望能够在后续的日志记录方法中访问此 request- id。我尝试使用绑定功能,但仍然无法在some-page/some-method.

处理程序.clj

一些页面.clj

0 投票
1 回答
513 浏览

clojure - 我应该如何在 clojure 中对异常进行 json 编码?

我希望能够对异常对象进行 json 编码。我正在将我的日志推送到 sumologic,并希望能够推送 json 编码的异常,以便我也可以在 sumo 中解析和过滤这些日志。

但是,我不能对异常进行 json 编码并得到这个错误:

这是我的 compojure-api 异常处理程序:

0 投票
2 回答
882 浏览

clojure - 在 clojure 上保存状态

我现在开始进行函数式编程,并且对没有变量的工作感到非常疯狂。

我阅读的每个教程都说重新定义变量并不酷,但我不知道如何在不将状态保存在变量上的情况下解决我的实际问题。

例如:我正在开发一个 API,我想通过请求保留这些值。假设我有一个添加 a 的端点person,并且我有一个 列表persons,我想redefine或更改persons添加新列表的值person。我怎样才能做到这一点?

有没有可以用var-setalter-var-root或者conj!

(对于我正在使用的 api compojure-api,每个person都是一个Hash

0 投票
1 回答
555 浏览

clojure - 我无法让 compojure-api 正确验证具有 Inst 模式的查询参数的错误数据

在这里,我正在使用该metosin/compojure-apiGET /fetch为我的 api 配置一个端点。您将看到我还使用它plumatic/schema来验证此端点上的查询参数输入并siilisolutions/humanize人性化任何不良数据异常。

当我发出以下请求时,端点返回 200 ok。

但是当使用错误数据设置 timestamp_from 时,如下所示:

我得到以下异常:

我希望仍然会看到更像这样的东西: