Сгенерируйте OpenAPI 3.0 json/yaml из источников приложения Spring во время компиляции с помощью плагина maven.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сгенерируйте OpenAPI 3.0 json/yaml из источников приложения Spring во время компиляции с помощью плагина maven.

Сообщение Anonymous »

Я хочу сгенерировать определение OpenApi 3.0 во время компиляции с использованием плагина maven из существующих источников приложений Spring (примечание: НЕ загрузка).
Я настроил io.swagger.v3.oas.annotations в классах контроллера следующим образом:

Код: Выделить всё

package com.acme.rest;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;

@Tag(name = "Dummy Controller", description = "Dummy controller.")
@RestController
@RequestMapping("/api/v1/dummy")
public class DummyController {

@Operation(summary = "dummy(). Does litrally nothing.")
@RequestMapping(value = "/", method = RequestMethod.GET)
public String doStuff() {
return "dummy";
}
}
и попробовал плагин swagger-maven

Код: Выделить всё

io.swagger.core.v3
swagger-maven-plugin
2.2.0

${project.build.directory}/swagger-def
com.acme
true



compile

resolve




однако я не получаю ничего, кроме версии openapi.

Код: Выделить всё

mvn clean compile
выдает:

Код: Выделить всё

{
"openapi" : "3.0.1"
}
Я немного покопался в реализации, и кажется, что не существует реализации io.swagger.v3.oas.integration.api.OpenApiReader и/или io.swagger.v3.oas.integration.api.OpenApiScanner, чтобы фактически подобрать соответствующие аннотации и проанализировать их. Я делаю этот вывод из того факта, что если я добавлю их собственную реализацию, как предложено в документации, я смогу сгенерировать исходные коды.

Код: Выделить всё

com.acme.util.SwaggerOpenApiScanner
com.acme.util.SwaggerOpenApiReader
Я просто не понимаю, почему плагин SWAGGER из коробки не анализирует аннотации SWAGGER, несмотря на то, что они оба из одной и той же группы io.swagger.core.v3?
Что я что-то упускаю? Можете ли вы порекомендовать какой-нибудь альтернативный плагин для этой работы?

Подробнее здесь: https://stackoverflow.com/questions/727 ... ile-time-w
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»