Необязательные аргументы в 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 как (string? nil) => false

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  {name :- String ""}]
    (ok)))
Другие вопросы по тегам