Я не уверен, что я ошибся здесь, но последние несколько дней я возился со Swagger и пытался настроить свою документацию таким образом, чтобы я мог разделить документацию на более мелкие и более управляемые файлы. Однако я обнаружил, что когда я пытаюсь $ref
файл внутри другого файла, для которого я уже использовал $ref
, он, похоже, не работает.
Я настроил страницу с запущенным Swagger-UI, чтобы вы могли видеть http://jer-k.github.io/swagger-docs-testing/swagger-ui/?url=http://jer-k.github.io/swagger-docs-testing/docs/api.swagger.yaml (репозиторий https://github.com/jer-k/swagger-docs-testing)
Если вы посмотрите в api .swagger.yaml по первому пути, я использую
schema:
$ref: "./schema/trade-report.yaml"
И если вы просмотрите раздел «TradeReport» в пользовательском интерфейсе Swagger, вы увидите, что схема правильно загружена в качестве параметра.
Затем, если вы посмотрите в api.swagger.yaml во втором пути я загружаю его через $ref
"/payments/calculate":
$ref: './calculate.yaml'
И если мы посмотрим в рассчитаем. yaml Я снова ссылаюсь на торговый отчет
schema:
$ref: "./schema/trade-report.yaml"
Но при просмотре пути расчета в разделе «Платежи» в Swagger-UI параметр задан неправильно. Он имеет Data Type: http://jer-k.github.io/swagger-docs-testing/docs/./calculate.yaml#./schema/trade-report.yaml
Я действительно смущен тем, почему это происходит. Любая помощь будет оценена по достоинству!