Должны ли коды состояния HTTP быть строками? - PullRequest
0 голосов
/ 14 ноября 2018

Объект Responses содержит { код статуса HTTP : Response}.

Во всех найденных примерах код состояния представлен в виде строки:

{"200": {"description": "a pet to be returned"}}

Я не смог найти никаких требований, чтобы это была строка, и проверенные мной валидаторы принимают целые числа.

Все, что я нашел, было PR, меняющийся от целого числа до строки во всех примерах YAML .

Должен ли я использовать только строки?

Edit: в JSON только строки являются допустимыми ключами. Таким образом, вопрос можно перефразировать как «какое из следующих двух предположений является правильным»?

  • OpenAPI не указывает, что коды состояния HTTP должны быть строками, потому что это неявно (формат JSON). Тем не менее, средства проверки и отображения не соответствуют этому требованию.

  • OpenAPI использует своего рода «расширенный набор JSON», в котором целочисленные ключи считаются действительными.

1 Ответ

0 голосов
/ 20 ноября 2018

Из этой проблемы GH , ключи должны быть строками:

OpenAPI может быть представлен канонически в JSON или YAML, как вы говорите, в JSON ключами могут быть только строки,Что касается YAML:

Это поле ДОЛЖНО быть заключено в кавычки (например, "200") для совместимости между JSON и YAML.

Это имеет эффектчто ключ всегда является строковым типом.

На самом деле это не спецификация, а требование формата JSON.

...