Использование «по умолчанию» с «обязательными» параметрами для OpenAPI

В документации говорится:

Использование default с required параметрами или свойствами, например, с параметрами пути. Это не имеет смысла — если требуется значение, клиент всегда должен его отправить, а значение по умолчанию никогда не используется.

Но это обычная идиома для баз данных, когда столбец IS NOT NULL и есть DEFAULT, не так ли?

Почему для OpenAPI это не имеет смысла?


person Eugen Konkov    schedule 30.03.2018    source источник


Ответы (1)


Подумайте об объявлениях функций. Рассмотрим строковый метод JavaScript indexOf:

"string".indexOf(searchValue[, fromIndex])

Параметр searchValue является обязательным и всегда должен указываться. У него нет значения по умолчанию — клиент всегда должен указывать подстроку, которую он хочет найти.

Параметр fromIndex является необязательным, его значение по умолчанию равно 0.

Теперь, если бы требуемый параметр searchValue имел значение по умолчанию, это означало бы, что этот параметр больше не требуется! Теперь это необязательно, например:

"string".indexOf([searchValue[, fromIndex]])

Вот почему значение defalut является атрибутом необязательных параметров, а не параметров required.


Параметры в OpenAPI следуют тому же принципу. Значение default предназначено только для целей документации, чтобы сообщить разработчикам клиента, какое значение будет использовать сервер, если клиент не предоставит необязательный параметр.

person Helen    schedule 30.03.2018
comment
Итак, со стороны сценария, если мы хотим, чтобы параметр всегда передавался. Мы просто настраиваем default - person Eugen Konkov; 30.03.2018