Post 在 Liberator Clojure 中不 Return 200 OK
Post Does Not Return 200 OK in Liberator Clojure
我想要我的 POST 资源 return 200 好的,这样我就可以使用 :handle-ok但资源 returns 201 已创建。
我使用我的资源进行登录操作。 :handle-ok 无效!
这是示例代码:
(POST "/login" []
(resource :allowed-methods [:post]
:available-media-types resource-util/avaliable-media-types
:known-content-type? #(resource-util/check-content-type % resource-util/avaliable-media-types)
:malformed? #(resource-util/parse-json % ::data)
:post! (fn [ctx]
{:my-data "oki"})
:handle-ok (fn [ctx]
{:ok? true})))
您需要将 :new? false :respond-with-entity? true
添加到您的资源定义中。在 decision graph 中查看更多详细信息。您还应该 return 一个将作为响应正文的值(因为您想要 return HTTP 200,如果您没有要 returned HTTP 204 的值更合适) .
我想要我的 POST 资源 return 200 好的,这样我就可以使用 :handle-ok但资源 returns 201 已创建。
我使用我的资源进行登录操作。 :handle-ok 无效!
这是示例代码:
(POST "/login" []
(resource :allowed-methods [:post]
:available-media-types resource-util/avaliable-media-types
:known-content-type? #(resource-util/check-content-type % resource-util/avaliable-media-types)
:malformed? #(resource-util/parse-json % ::data)
:post! (fn [ctx]
{:my-data "oki"})
:handle-ok (fn [ctx]
{:ok? true})))
您需要将 :new? false :respond-with-entity? true
添加到您的资源定义中。在 decision graph 中查看更多详细信息。您还应该 return 一个将作为响应正文的值(因为您想要 return HTTP 200,如果您没有要 returned HTTP 204 的值更合适) .