1
0

API-first with openapiprocessor and modelmapper

This commit is contained in:
Michael Hoennig
2022-08-08 16:54:35 +02:00
parent 80f342eeae
commit eeab68d63a
14 changed files with 602 additions and 62 deletions

View File

@ -1,6 +1,7 @@
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.2'
id 'io.openapiprocessor.openapi-processor' version '2021.3'
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
id 'com.github.jk1.dependency-license-report' version '2.1'
id "org.owasp.dependencycheck" version "7.1.1"
@ -45,6 +46,8 @@ dependencies {
implementation 'org.springdoc:springdoc-openapi-ui:1.6.9'
implementation 'org.liquibase:liquibase-core'
implementation 'com.vladmihalcea:hibernate-types-55:2.17.1'
implementation 'org.openapitools:jackson-databind-nullable:0.2.3'// https://mvnrepository.com/artifact/org.modelmapper/modelmapper
implementation 'org.modelmapper:modelmapper:3.1.0'
compileOnly 'org.projectlombok:lombok'
@ -75,11 +78,29 @@ tasks.named('test') {
useJUnitPlatform()
}
openapiProcessor {
spring {
processor 'io.openapiprocessor:openapi-processor-spring:2021.4'
apiPath "$projectDir/src/main/resources/api-definition.yaml"
targetDir "$projectDir/build/generated/sources/openapi"
mapping "$projectDir/src/main/resources/api-mappings.yaml"
showWarnings true
}
}
sourceSets.main.java.srcDir 'build/generated/sources/openapi'
compileJava.dependsOn('processSpring')
spotless {
java {
removeUnusedImports()
endWithNewline()
toggleOffOn()
// target 'src/main/java**/*.java', 'src/test/java**/*.java' // not generated
target project.fileTree(project.rootDir) {
include '**/*.java'
exclude '**/generated/**/*.java'
}
}
}
project.tasks.check.dependsOn(spotlessCheck)