2

我希望我的 POST 资源返回200 OK,以便我可以使用:handle-ok但资源返回201 Created。

我使用我的资源进行登录操作。: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})))
4

1 回答 1

3

您需要添加:new? false :respond-with-entity? true到资源定义中。查看决策图中的更多详细信息。您还应该返回一个将作为响应正文的值(因为您要返回 HTTP 200,如果您没有要返回的值,则 HTTP 204 更合适)。

于 2016-05-22T16:26:51.040 回答