Необязательные аргументы в compojure-api / schema / swagger?

когда у меня есть определение API, как это:

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  name :- String]
    (ok)))

каков подходящий способ сделать имя необязательным? Это:

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  {name :- String nil}]
    (ok)))

1 ответов


как вы знаете, он использует letk сантехническая нотация и, насколько я помню, синтаксис правильный, но значение по умолчанию должно соответствовать ожидаемому типу, поэтому я бы сказал, что это должно быть "", а не nil as (string? nil) =>false

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  {name :- String ""}]
    (ok)))