У меня есть существующий Spring REST API, для которого я хочу создать YAML файл OpenAPI 3.0, а не Swagger 2.0 JSON/YAML?
Поскольку на данный момент SpringFox не поддерживает генерацию YAML. Он генерирует JSON с Swagger 2.0 (который соответствует спецификации OPEN API 3.0).
Кроме того, есть https://github.com/openapi-tools/swagger-maven-plugin, но он не поддерживает Spring Rest.
Я попробовал подключаемый модуль Kongchen spring-maven-plugin, который может генерировать файл YAML, но с определением Swagger 2.0, а не с OPEN API 3.0, например:
swagger: "2.0"
info:
description: "Test rest project"
version: "1.0"
title: "Some desc"
termsOfService: "http://swagger.io/terms/"
contact:
name: "Rest Support"
url: "http://www.swagger.io/support"
email: "[email protected]"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "example.com"
basePath: "/api/"
Итак, мой вопрос, как я могу сгенерировать файл OPEN API YAML, например:
openapi: 3.0.0
info:
description: Some desc
version: "1.0"
title: Test rest project
termsOfService: http://swagger.io/terms/
contact:
name: Rest Support
url: http://www.swagger.io/support
email: [email protected]
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
В настоящее время я использую swagger-maven-plugin для создания файла YAML с определением Swagger 2.0 и преобразования его в определение Open API 3.0 с использованием swagger2openapi по адресу https://mermade.org.uk/openapi-converter.
Вопрос 1: Может ли Spring-Maven-плагин захватить io.swagger.v3.oas.annotations для создания YAML?
Вопрос 2: Каков наилучший способ создания YAML с определениями OPEN API в проекте Spring MVC?
Вопрос 3: Можно ли использовать io.swagger.v3.oas с проектами Spring или только для проектов JAX-RS?