Настройка проверки ввода в Swagger UI - PullRequest
0 голосов
/ 30 мая 2018

Мы представляем swagger-ui с нашего веб-сервера, используя пакет Swashbuckle, работающий поверх Asp.Net Core.Мы сталкиваемся с проблемой проверки ввода для наших полей ввода Guid.

Вставляемые нами GUID, которые считываются из других частей системы, отформатированы как deb83f8a3edc4b78a2ece3321f81b58b , обратите внимание на отсутствующиечерточки.Проверка входных данных отклоняет это, поскольку она ожидает тире в формате (поэтому она принимает deb83f8a-3edc-4b78-a2ec-e3321f81b58b ).

Документ swagger, который мы обслуживаем, имеет параметр типа: string и format: uuid.Он вызывает некоторый внутренний validationGuid вызов, который имеет reg-ex, который вызывает тире.Из консоли браузера кажется, что он ищет компонент с именем JsonSchema_string_uuid, но не находит его.

Поэтому мой вопрос заключается в том, как я могу расширить swagger-ui, чтобы переопределить проверку определенного типа / формата параметров?

ОБНОВЛЕНИЕ: мне стало известно о RFC, в котором UUID указан как тире и обходной путь.Тем не менее, мне все еще интересно узнать о способах настройки валидации как пользовательских форматов, так и конкретно uuid?

1 Ответ

0 голосов
/ 30 мая 2018

Хотя спецификация OpenAPI и схема JSON в настоящее время не определяют format: uuid, RFC 4122 определяет UUID как содержащий тире, а некоторые комментарии в OpenAPIХранилище предполагает, что format: uuid должен следовать RFC 4122. Это означает, что ваш пример без черточек, скорее всего, не format: uuid.

Рассмотрите возможность замены format: uuid на pattern: '^[A-Fa-f0-9]{32}$ '.

...