使用clojure liberator发布请求



我正在使用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)))

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

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

最新更新