#node.js #express #swagger #openapi
Вопрос:
Как я могу ссылаться на несколько путей к файлам, используя ключевое слово $ref при документировании моих API?
То, что у меня сейчас есть, — это:
paths:
$ref: "./paths/customers.yaml"
Чего я хочу, так это:
paths:
$ref: ["./paths/partner.yaml","./paths/merchants.yaml"]
Есть ли выход?
Комментарии:
1. Не уверены, что вы можете использовать ссылку на файл? Обычно вы ссылаетесь на компонент в той же спецификации
Ответ №1:
$ref имеет тип string, см. https://swagger.io/specification/
Вам нужно сделать вот так:
paths:
/partner:
$ref: "./paths/partner.yaml"
/merchants
$ref: "./paths/merchants.yaml"
Комментарии:
1. Спасибо за ваш вклад, ваше решение работает, но не применимо к моему текущему рабочему процессу. Ваше решение заставило бы меня определить пути в
index.yaml
файле, от которого я убегаю. Я хочу, чтобы все маршруты для партнеров были строго подчиненыpartners.yaml
, а все маршруты для продавцов были строго подчиненыmerchants.yaml
.index.yaml
Файл, который будет их объединять, не должен иметь никакого представления о том, как они формируются. Они должны быть просто объединены. Рабочий процесс спецификации OpenAPI совсем не хорош.$ref
должно быть разрешено принимать массив путей к файлам.