2

我正在使用 clojure liberator 将我的服务公开为 REST 服务,我有一个 POST 请求,下面是代码,我可以执行将服务调用为 POST 的过程,但我想将事件 ID 作为 POST 的响应发回, 谁能帮忙

(defresource send-event-resource
 :method-allowed? (request-method-in :post)
  :available-media-types ["text/plain"]
  :post! (fn [context]
           (workers/send-event context)))
4

2 回答 2

1

在 liberator 中提出问题,从那里得到响应 https://github.com/clojure-liberator/liberator/issues/61

于 2013-07-25T11:34:24.640 回答
1

将事件 id 放入上下文映射并从句柄 ok 中查找:

(defresource send-event-resource
  :method-allowed? (request-method-in :post)
  :available-media-types ["text/plain"]
  :post! (fn [context] {::event-id (workers/send-event context)})
  :handle-ok ::event-id)

上面的代码利用了这样一个事实,即 clojure 关键字是一个函数,当应用于上下文映射时,它将查找“自身”。

于 2014-03-12T13:58:11.377 回答