Как установить значения по умолчанию для параметров пути? - PullRequest
0 голосов
/ 22 октября 2018

В приведенном ниже примере, как я могу установить значение по умолчанию для идентификатора параметра пути?

(POST "/:id" [item-id]
  :path-params [item-id :- Int]
  :body [body Body]
  :query-params [{item-name :- Str nil}]
                 :summary "Create or update a item."
                 (ok ...))

1 Ответ

0 голосов
/ 22 октября 2018

Вы должны сопоставить имя параметра пути с заполнителем строки.Параметры пути не нуждаются в значениях по умолчанию - если отсутствует параметр пути, маршрут не совпадает.Вот рабочий пример:

(require '[compojure.api.sweet :refer :all])
(require '[ring.util.http-response :refer :all])
(require '[schema.core :as s])
(require '[muuntaja.core :as m])

(def app
  (api
    (POST "/:item-id" []
      :path-params [item-id :- s/Int]
      :query-params [{item-name :- s/Str nil}]
      :summary "Create or update a item."
      (ok {:item-id item-id
           :item-name item-name}))))

(->> {:request-method :post
      :uri "/123"
      :query-params {"item-name" "kikka"}}
     (app)
     :body
     (m/decode m/instance "application/json"))
; => {:item-name "kikka", :item-id 123}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...