解放者:设置:表示:媒体类型:媒体类型可用?

时间:2015-04-16 05:47:55

标签: clojure liberator

我想使用决策点:media-type-available?,但我失败了......

我知道我必须设置:representation :media-type,但我真的不知道该怎么做。

到目前为止,我的代码如下所示:

(defresource test-resource []
  :media-type-available (fn [req]
    (assoc req :representation {:media-type "application/json"}))
  :available-media-types ["application/json" "text/html"]
  :handle-ok (fn [req] {:ok true})
)

说明:

  1. (assoc req :representation {:media-type "application/json"})生成一个包含“已更改”req对象的正确地图。
  2. :handle-ok的{​​{1}}个对象中,req值为:representation
  3. 我不知道如何设置它(它不是一个可变对象,是吗?)并且查看解放器的源代码并没有真正帮助......

    谢谢, 卡罗尔

1 个答案:

答案 0 :(得分:0)

好的......这只是一个错字......而不是:representation我有:represenation ......

因此,如果有人感兴趣,有两种方法可以解决这个问题:

  1. 使用合并的req返回:representation个对象:

    :media-type-available (fn [req]
      (assoc req :representation {:media-type "application/json"}))
    
  2. 仅返回:representation对象:

    :media-type-available (fn [req]
      {:representation {:media-type "application/json"}})