#xml #swagger-ui #openapi
#xml #swagger-пользовательский интерфейс #openapi
Вопрос:
Мой сервис обеспечивает загрузку XML-файлов. Спецификация OpenAPI не определяет схему. Я хочу привести пример входных данных. Я пробую это:
/foo:
post:
requestBody:
content:
application/xml:
schema:
type: string
format: binary
example:
externalValue: 'https://www.w3schools.com/xml/note.xml'
Однако swagger-ui создает бесполезный:
<!-- XML example cannot be generated; root element name is undefined -->
Можно ли указать пример из внешнего файла?
Ответ №1:
Это зависит от того, какую версию OpenAPI вы используете.
OpenAPI 3.1
externalValue
может быть любой допустимый UR I. Сюда входят относительные ссылки. Смотрите документацию 3.1.
OpenAPI 3.0
externalValue
должен быть допустимый UR L. Это не может быть относительный путь к файлу. Смотрите документацию 3.0.
Измените ваше значение на размещенное местоположение вашего XML-файла.
Ошибка swagger-ui сообщает вам, что вы не используете именованный элемент. Попробуйте указать имя. (Обратите внимание, что этот инструмент содержит ошибки и некорректно поддерживает все допустимые проекты OpenAPI. Например, эта связанная ошибка.)
examples:
exampleName:
summary: A sample object
externalValue: 'https://www.w3schools.com/xml/note.xml'
Комментарии:
1. Спасибо. Я в OpenAPI 3.0. Однако, даже используя абсолютный URI (см. Обновленный вопрос), пример не включен в вывод Swagger-ui.
2. Я добавил дополнительную информацию о том, что вы можете попробовать.