使用clojure解放器发布请求

时间:2013-07-20 19:07:18

标签: clojure compojure liberator

我正在使用clojure解放器将我的服务公开为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)))

2 个答案:

答案 0 :(得分:1)

在解放者中引发了一个问题,从那里得到了回应 https://github.com/clojure-liberator/liberator/issues/61

答案 1 :(得分:1)

将事件ID放入上下文映射中,并从handle-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关键字是一个函数,当应用于上下文映射时,它将查找"本身"。