swagger condegen의 자동 생성 메모 (spring) -1
12033 단어 자바swagger-codegenspring
swagger codegen의 자동 생성 메모
공식 정보가 너무 많아 조금 잘 모르기 때문에 메모를 남깁니다.
사용한 이유
generate 해보기
어려운 일은 없고, ↓로 할 수 있습니다.
java -jar swagger-codegen-cli.jar generate \
-i swagger.json \
-l java \
-o outfolder \
그러나 package 구성이나 프로젝트 이름이 좀처럼 실용적이지 않거나 하는군요.
옵션 지정 가능
공식에 따라 확인합니다.
spring 사용하고 싶었기 때문에 spring의 option을 조사합니다.
java -jar swagger-codegen-cli-2.4.7.jar config-help -l spring
sortParamsByRequiredFlag
Sort method arguments to place required parameters before optional parameters. (Default: true)
ensureUniqueParams
Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
allowUnicodeIdentifiers
boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
modelPackage
package for generated models
apiPackage
package for generated api classes
invokerPackage
root package for generated code
groupId
groupId in generated pom.xml
artifactId
artifactId in generated pom.xml
artifactVersion
artifact version in generated pom.xml
artifactUrl
artifact URL in generated pom.xml
artifactDescription
artifact description in generated pom.xml
scmConnection
SCM connection in generated pom.xml
scmDeveloperConnection
SCM developer connection in generated pom.xml
scmUrl
SCM URL in generated pom.xml
developerName
developer name in generated pom.xml
developerEmail
developer email in generated pom.xml
developerOrganization
developer organization in generated pom.xml
developerOrganizationUrl
developer organization URL in generated pom.xml
licenseName
The name of the license
licenseUrl
The URL of the license
sourceFolder
source folder for generated code
localVariablePrefix
prefix for generated code members and local variables
serializableModel
boolean - toggle "implements Serializable" for generated models (Default: false)
bigDecimalAsString
Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
fullJavaUtil
whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
hideGenerationTimestamp
hides the timestamp when files were generated
withXml
whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
dateLibrary
Option. Date library to use
joda - Joda (for legacy app only)
legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
java8
Option. Use Java8 classes instead of third party equivalents
true - Use Java 8 classes such as Base64
false - Various third party libraries as needed
disableHtmlEscaping
Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
title
server title name or client service name
configPackage
configuration package for generated code
basePackage
base package (invokerPackage) for generated code
interfaceOnly
Whether to generate only API interface stubs without the server files. (Default: false)
delegatePattern
Whether to generate the server files using the delegate pattern (Default: false)
singleContentTypes
Whether to select only one produces/consumes content-type by operation. (Default: false)
java8
use java8 default interface (Default: false)
async
use async Callable controllers (Default: false)
responseWrapper
wrap the responses in given type (Future,Callable,CompletableFuture,ListenableFuture,DeferredResult,HystrixCommand,RxObservable,RxSingle or fully qualified type)
useTags
use tags for creating interface and controller classnames (Default: false)
useBeanValidation
Use BeanValidation API annotations (Default: false)
implicitHeaders
Use of @ApiImplicitParams for headers. (Default: false)
swaggerDocketConfig
Generate Spring Swagger Docket configuration class. (Default: false)
useOptional
Use Optional container for optional parameters (Default: false)
generateForOpenFeign
Generate for usage with OpenFeign (instead of feign) (Default: false)
library
library template (sub-template) to use (Default: spring-boot)
spring-boot - Spring-boot Server application using the SpringFox integration.
spring-mvc - Spring-MVC Server application using the SpringFox integration.
spring-cloud - Spring-Cloud-Feign client with Spring-Boot auto-configured settings.
지정해 보았습니다.
제대로 전부 Package를 지정하지 않으면 default의 io.swagger에 출력되므로 주의
{
"groupId": "hoge",
"artifactId": "hoge",
"artifactVersion": "1.0.0-SNAPSHOT",
"basePackage": "hoge",
"configPackage": "hoge",
"modelPackage" "hoge",
"apiPackage" "hoge",
"java8": true,
"useBeanValidation": true
}
generate
java -jar swagger-codegen-cli-2.4.7.jar generate \
-i ./swagger.yml \
-l spring \
-o ./ \
-c ./config.json
mvn install
실망
pom 다시 쓰기
추가
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
</dependency>
mvn install
성공
말하자면 Spring의 버전은?
오래된
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
참고
htps : // 기주 b. 코 m / 슈게 r - 아피 / 슈 게 r - 코 데겐
htps : // 기주 b. 코 m / 슈 게 r- 아피 / 슈 게 r 루 코 데 겐 / ぃ き / 세 r
Reference
이 문제에 관하여(swagger condegen의 자동 생성 메모 (spring) -1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ya-mada/items/0647cb0030cabdfbd3e4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)