티스토리 뷰
Kotlin & JPA
[Kotlin][Gradle] openApiGenerate date / data-time LocalDate / LocalDateTime 으로 사용하기
Jane Kwon 2023. 10. 24. 13:48반응형
openApiGenerator를 사용하는데
컴포넌트 데이터 포맷이 date 혹은 date-time일 때
LocalDate와 LocalDateTime으로 타입을 사용하고 싶다.
format: date
format: date-time
build.gradle 파일 openGanerator 설정 부분에 아래와 같이
typeMappings와 importMappings를 세팅해주면 된다.
typeMappings.set(
mapOf(
"string+date" to "LocalDate",
"string+date-time" to "LocalDateTime"
)
)
importMappings.set(
mapOf(
"LocalDate" to "java.time.LocalDate",
"LocalDateTime" to "java.time.LocalDateTime"
)
)
타입매핑 부분에 string+date, string+date-time에 string은 안써주면 안되니 주의!
openGanerator 전체 설정은 아래와 같다.
openApiGenerate {
generatorName.set("kotlin-spring")
inputSpec.set("$rootDir/api.yaml")
outputDir.set("$buildDir/generated")
apiPackage.set("kr.hosting.payment.web.v1.controller")
modelPackage.set("kr.hosting.payment.web.v1.model")
configOptions.set(
mapOf(
"dateLibrary" to "java8",
"documentationProvider" to "none",
"enumPropertyNaming" to "UPPERCASE",
"exceptionHandler" to "false",
"generateApis" to "true",
"generateApiDocumentation" to "false",
"generateModels" to "true",
"generateModelDocumentation" to "false",
"interfaceOnly" to "true",
"oas3" to "true",
"reactive" to "true",
"skipDefaultInterface" to "true",
"useBeanValidation" to "false",
"useSpringBoot3" to "true",
"useSpringController" to "true",
"useSpringfox" to "false",
"useTags" to "true"
)
)
typeMappings.set(
mapOf(
"string+date" to "LocalDate",
"string+date-time" to "LocalDateTime"
)
)
importMappings.set(
mapOf(
"LocalDate" to "java.time.LocalDate",
"LocalDateTime" to "java.time.LocalDateTime"
)
)
}
반응형