0% found this document useful (0 votes)
47 views2 pages

Untitled 1

The document describes how to configure the swagger-codegen-maven-plugin to generate code from an OpenAPI specification file. It provides details on common configuration parameters like the input specification, target language, and output location. It also describes how to specify a custom code generator by setting the language to a fully-qualified generator class and providing template files and generator dependencies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views2 pages

Untitled 1

The document describes how to configure the swagger-codegen-maven-plugin to generate code from an OpenAPI specification file. It provides details on common configuration parameters like the input specification, target language, and output location. It also describes how to specify a custom code generator by setting the language to a fully-qualified generator class and providing template files and generator dependencies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

<plugin>

<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>$
{project.basedir}/src/main/resources/api.yaml</inputSpec>
<language>java</language>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
Followed by:

mvn clean compile


General Configuration parameters
inputSpec - OpenAPI Spec file path
language - target generation language
output - target output path (default is ${project.build.directory}/generated-
sources/swagger)
templateDirectory - directory with mustache templates
addCompileSourceRoot - add the output directory to the project as a source root
(true by default)
modelPackage - the package to use for generated model objects/classes
apiPackage - the package to use for generated api objects/classes
invokerPackage - the package to use for the generated invoker objects
modelNamePrefix and modelNameSuffix - Sets the pre- or suffix for model classes and
enums
withXml - enable XML annotations inside the generated models and API (only works
with Java language and libraries that provide support for JSON and XML)
configOptions - a map of language-specific parameters (see below)
configHelp - dumps the configuration help for the specified library (generates no
sources)
ignoreFileOverride - specifies the full path to a .swagger-codegen-ignore used for
pattern based overrides of generated outputs
generateApis - generate the apis (true by default)
generateApiTests - generate the api tests (true by default. Only available if
generateApis is true)
generateApiDocumentation - generate the api documentation (true by default. Only
available if generateApis is true)
generateModels - generate the models (true by default)
modelsToGenerate - A comma separated list of models to generate. All models is the
default.
generateModelTests - generate the model tests (true by default. Only available if
generateModels is true)
generateModelDocumentation - generate the model documentation (true by default.
Only available if generateModels is true)
generateSupportingFiles - generate the supporting files (true by default)
supportingFilesToGenerate - A comma separated list of supporting files to generate.
All files is the default.
skip - skip code generation (false by default. Can also be set globally through the
codegen.skip property)
Custom Generator
Specifying a custom generator is a bit different. It doesn't support the
classpath:/ syntax, but it does support the fully qualified name of the package.
You can also specify your custom templates, which also get pulled in. Notice the
dependency on a project, in the plugin scope. That would be your generator/template
jar.

<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>${swagger-codegen-maven-plugin-version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>$
{project.basedir}/src/main/resources/yaml/yamlfilename.yaml</inputSpec>
<!-- language file, like e.g. JavaJaxRSCodegen shipped with swagger
-->
<language>com.my.package.for.GeneratorLanguage</language>
<templateDirectory>myTemplateDir</templateDirectory>

<output>${project.build.directory}/generated-sources</output>
<apiPackage>${default.package}.handler</apiPackage>
<modelPackage>${default.package}.model</modelPackage>
<invokerPackage>${default.package}.handler</invokerPackage>
</configuration>
</execution>
</executions>

<dependencies>
<dependency>
<groupId>com.my.generator</groupId>
<artifactId>customgenerator</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>

You might also like