Сообщение не возвращается 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 более уместно).