У меня много чванских файлов, использующих те же определения. Я хочу переместить эти определения в отдельный файл и ссылаться на них.
Основной файл чванства выглядит так:
swagger: '2.0'
info:
version: 1.0.0
basePath: /api
tags:
- name: MyClient
schemes:
- http
consumes:
- application/json
produces:
- application/json
paths:
/v1/myrequest:
post:
tags:
- PassportCheck
summary: Проверить паспорт ФЛ
operationId: passportCheck
produces:
- application/json
parameters:
- name: Body
in: body
required: true
description: ''
schema:
$ref: '#/definitions/MyRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MyResponse'
'400':
description: Bad request
schema:
$ref: '#/definitions/Errors'
definitions:
MyRequest:
type: object
properties:
some properties
Файл, который я пытаюсь импортировать, сохраняется в файле exceptions.yaml (и сохраняется в том же месте) и выглядит следующим образом:
swagger: '2.0'
info:
version: 1.0.0
title: Exception API
tags:
- name: ExceptionAPI
definitions:
Errors:
required:
- errors
properties:
errors:
type: array
items:
data declarations go here
Я прочитал $ ref https://swagger.io/docs/specification/using-ref/, но не смог найти способ импортировать определение вместо API
Я пытаюсь импортировать его со следующими изменениями:
'400':
description: Bad request
schema:
$ref: 'exceptions.yaml#/definitions/Errors'
[ERROR] /C:/Data/MyService/target/generated-sources/src/main/java/myservice/rest/v1/api/V1Api.java:[55,70] cannot find symbol
symbol: class ExceptionsYamldefinitionsErrors
Или использовать относительный путь в разных вариациях
'400':
description: Bad request
schema:
$ref: '..exceptions.yaml#/definitions/Errors'
[ERROR] Failed to execute goal io.swagger:swagger-codegen-maven-plugin:2.3.1:generate (correqts-adapter) on project individual-client-service: Execution correqts-adapter of goal io.swagger:swagger-codegen-maven-plugin:2.3.1:generate fail
ed: Unable to load RELATIVE ref: ..exceptions.yaml: Could not find ..exceptions.yaml on the classpath ->
или вставка $ ref в существующие объявления:
definitions:
$ref: 'exceptions.yaml'
который был полностью проигнорирован
Кто-нибудь решил подобную проблему?