问题标签 [liberator]

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 回答
119 浏览

clojure - 多个 clojure-liberator 决策读取请求正文

我有一个 defresource,应该接受 POST 请求,在 :malformed-decision 中验证请求正文,在 :post!-decision 中将正文保存到数据库中,然后在 :handle-created 中返回保存的正文。

所以我的代码使用 slurp 函数读取了 ByteArrayInputStream(来自 :request :body)的三倍。第一次有效,但第二次调用 slurp 时,nil 作为参数传递并出现 java.io.EOFException: JSON 错误。我认为读者开始阅读上次离开的地方。

我怎么能读三遍请求的正文?或者有没有很好的方法将读取结果保存到变量并将其传递给其他解放者决策?

0 投票
1 回答
52 浏览

clojure - PUT 时渲染资源

我正在使用liberator使用 Clojure 构建 API。给定以下代码:

有人何时可以告诉我是否可能,例如 GET 请求,当我发送 PUT 请求时,它会被重定向到资源吗?"/customer/1"(例如) ?

0 投票
0 回答
243 浏览

clojure - Clojure - json响应中的url“格式”

我用 Clojure liberator编写了一个 REST API ,并且我有这个功能,以构建 URL:

然后我使用halresource来表示资源并使用cheshire来解析 json。当我使用curl时,在 json 响应中,URL 显示为:

但是如果我使用一些工具,比如 Postman,URL 会正确显示

有什么建议吗?

更新:我重新检查并正确生成了所有 json,但是当我使用 curl 或尝试通过浏览器访问端点时,URL 显示为:http:\/\/localhost:8080\/api\/customer\/1

0 投票
1 回答
1032 浏览

clojure - Clojure,全新安装:无法解析符号:一些->

我刚刚安装了最新版本的 Clojure,在遵循 Liberator 教程 ( http://clojure-liberator.github.io/liberator/tutorial/getting-started.html ) 时,我得到以下异常:

我在 Ubuntu 15.04 上。莱宁根版本 2.5.3。Java 版本 1.7.0_91。

Lein Repl 工作得很好,虽然它理解(some ...),但它无法解决(some-> ...)

我一直在寻找几个小时,它看起来some->应该是 Clojure v1.5+ 的标准功能

为什么我没有?

0 投票
1 回答
28 浏览

clojure - 如何在解放者中模拟请求参数化资源?

如何模拟对参数化解放者资源的请求?这是我的代码:

我只是得到一个函数而不是响应。你能告诉我我在这里做错了什么吗?

0 投票
1 回答
148 浏览

clojure - 在 Liberator Clojure 中发布不返回 200 OK

我希望我的 POST 资源返回200 OK,以便我可以使用:handle-ok但资源返回201 Created。

我使用我的资源进行登录操作。:handle-ok不起作用!

这是示例代码:

0 投票
1 回答
101 浏览

clojure - 如何在 Clojure Liberator 中以 json 格式返回 401 错误?

我将解放者用于 REST 服务,我的内容类型是 json。

:authorized?(或其他决定)失败时,它会返回text/html我不想要的。

我需要解放者为所有类型的错误返回 json 数据格式。

0 投票
1 回答
176 浏览

clojure - How to redirect get methods with Liberator in Clojure?

I have an endpoint called /account which provides user info(returns html).

When unauthorised user tries to access this endpoint I need to be able to redirect to login page but in Liberator I found post-redirect so far and it is just for post methods.

I need to redirect get methods as well, how can I achieve this?

0 投票
1 回答
422 浏览

clojure - 如何在 Clojure 中使用 Ring 禁用特定端点(URL)的 CSRF 令牌?

我有一个具有CSRF保护功能的 Web 应用程序,但我需要为某些应用程序禁用此保护功能,endpoints(public APIs)这样我就可以Rest毫无问题地拨打电话。

这是我的代码:

PS:我使用 Liberator 和 Ring

0 投票
1 回答
77 浏览

debugging - 如何获取 Liberator 异常信息?

我一生都无法弄清楚如何从解放者那里获取异常调试信息。我通过 clj-http 发出请求并得到:

我的中间件列表中有解放者wrap-trace,它似乎没有给我实际的异常。