Сообщение не возвращается 200 OK в освободителе Clojure

Я хочу, чтобы мой ресурс 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})))

1 ответ

Решение

Вам нужно добавить :new? false :respond-with-entity? true к определению вашего ресурса. Проверьте больше деталей в графе решений. Вы также должны вернуть значение, которое будет телом ответа (так как вы хотите вернуть HTTP 200, если у вас нет значения, которое будет возвращено, HTTP 204 более уместно).

Другие вопросы по тегам