openapi-processor-spring (или сокращенно: aop-spring ) – это Открытый API интерфейс и генератор Java-кода модели для Spring Boot .
Он генерирует код для контроллеров на основе аннотаций (MVC) (oap-spring имеет экспериментальную поддержку Mono<> и Flux<> подобные обертки, позволяющие использовать веб-поток с аннотациями).
Его цель – обеспечить плавное и простое сопоставление описания yaml открытого API с кодом Java Spring Boot:
разрешение общих шаблонов кода загрузки Spring, таких как передача дополнительных параметров (например
Запрос HttpServletRequestилиобработчикметодаргументрезультат) к конечным точкам контроллера без добавления его в описание открытого APIобеспечение простого сопоставления с существующими типами Java с (простой) универсальной поддержкой
уход с дороги, если процессор не создает ожидаемый код для отдельных конечных точек.
Вам понадобится проект spring boot на основе gradle и плагин oap-gradle для использования aop-spring.
Смотрите краткий обзор ниже, чтобы узнать, как это работает, или перейдите по следующим ссылкам:
- Узнайте больше об открытом api-процессоре-spring .
- Попробуйте открыть игровую площадку api-процессора .
Текущие выпуски вехи 1.0 являются:
com.github.hauner.openapi:openapi-процессор-весна:1.0.0.M14com.github.hauner.openapi:openapi-процессор-уровень:1.0.0.M7
обзор использования
Вот краткий обзор использования. Более подробное описание доступно в документации .
конфигурация api и процессора
Во-первых, мы помещаем файл open api.yaml с описанием нашего открытого API в папку src/api вашего проекта. Мы помещаем еще один файл yaml сопоставление.yaml в одно и то же место. Это конфигурация процессора.
/src/api/ openapi.yaml mapping.yaml
минимальное содержание отображения .yaml – это имя целевого пакета для кода, генерируемого процессором. Он создаст два подпакета api и модель для интерфейсов конечных точек и классов моделей.
options: package-name: com.github.hauner.openapi
конфигурация градиента
Чтобы включить процессор, мы добавляем следующие фрагменты в build.gradle :
- добавьте плагин oap-gradle
plugins {
id 'com.github.hauner.openapi-processor' version '1.0.0.M7'
}
- далее идет настройка плагина для oap-spring.
Апипат,отображение&targetDirнастройте пути к входным файлам и файл конфигурации процессора.процессорпохож на зависимость в стандартном gradleзависимостиблокирует и сообщает плагину, какой процессор использовать. Плагин создаст задачуprocess Springдля запуска данногопроцессора.
openapiProcessor {
apiPath "${projectDir}/src/api/openapi.yaml"
spring {
processor 'com.github.hauner.openapi:openapi-processor-spring:1.0.0.M14'
mapping "${projectDir}/src/api/mapping.yaml"
targetDir "${projectDir}/build/openapi"
}
}
- последний шаг – включить сгенерированные файлы в сборку. При стандартных конфигурациях gradle мы добавляем
targetDirв исходный наборjava, чтобы gradle их скомпилировал. Чтобы автоматически регенерировать api при необходимости, мы добавляем задачуprocess Springв качестве зависимости к задачеcompileJava.
sourceSets {
main {
java {
srcDir "${projectDir}/build/openapi"
}
}
}
compileJava.dependsOn ('processSpring')
Теперь, когда мы изменим openapi.yaml или отображение.yaml gradle автоматически запускает процессор для обновления кода api перед компиляцией остальной части нашего кода.
Это оно.
Оригинал: “https://dev.to/hauner/openapi-processor-spring-368k”