OpenAPI Generator

OpenAPI Generator

  • Get Started
  • Generators
  • Roadmap
  • Team
  • FAQ
  • Blog

Config Options for java

OptionDescriptionValuesDefault
additionalModelTypeAnnotationsAdditional annotations for model type(class level annotations)null
allowUnicodeIdentifiersboolean, toggles whether unicode identifiers are allowed in names or not, default is falsefalse
apiPackagepackage for generated api classesorg.openapitools.client.api
artifactDescriptionartifact description in generated pom.xmlOpenAPI Java
artifactIdartifactId in generated pom.xml. This also becomes part of the generated library's filenameopenapi-java-client
artifactUrlartifact URL in generated pom.xmlhttps://github.com/openapitools/openapi-generator
artifactVersionartifact version in generated pom.xml. This also becomes part of the generated library's filename1.0.0
bigDecimalAsStringTreat BigDecimal values as Strings to avoid precision loss.false
booleanGetterPrefixSet booleanGetterPrefixget
caseInsensitiveResponseHeadersMake API response's headers case-insensitive. Available on okhttp-gson, jersey2 librariesfalse
dateLibraryOption. 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)
threetenbp
developerEmaildeveloper email in generated pom.xmlteam@openapitools.org
developerNamedeveloper name in generated pom.xmlOpenAPI-Generator Contributors
developerOrganizationdeveloper organization in generated pom.xmlOpenAPITools.org
developerOrganizationUrldeveloper organization URL in generated pom.xmlhttp://openapitools.org
disableHtmlEscapingDisable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)false
ensureUniqueParamsWhether to ensure parameter names are unique in an operation (rename parameters that are not).true
feignVersionVersion of OpenFeign: '10.x', '9.x' (default)false
fullJavaUtilwhether to use fully qualified name for classes under java.util. This option only works for Java API clientfalse
groupIdgroupId in generated pom.xmlorg.openapitools
hideGenerationTimestampHides the generation timestamp when files are generated.false
invokerPackageroot package for generated codeorg.openapitools.client
java8Option. Use Java8 classes instead of third party equivalents
true
Use Java 8 classes such as Base64
false
Various third party libraries as needed
false
librarylibrary template (sub-template) to use
jersey1
HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable Java6 support using '-DsupportJava6=true'. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey2' or other HTTP libaries instead.
jersey2
HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x
feign
HTTP client: OpenFeign 9.x or 10.x. JSON processing: Jackson 2.9.x. To enable OpenFeign 10.x, set the 'feignVersion' option to '10.x'
okhttp-gson
[DEFAULT] HTTP client: OkHttp 3.x. JSON processing: Gson 2.8.x. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
retrofit
HTTP client: OkHttp 2.x. JSON processing: Gson 2.x (Retrofit 1.9.0). IMPORTANT NOTE: retrofit1.x is no longer actively maintained so please upgrade to 'retrofit2' instead.
retrofit2
HTTP client: OkHttp 3.x. JSON processing: Gson 2.x (Retrofit 2.3.0). Enable the RxJava adapter using '-DuseRxJava[2]=true'. (RxJava 1.x or 2.x)
resttemplate
HTTP client: Spring RestTemplate 4.x. JSON processing: Jackson 2.9.x
webclient
HTTP client: Spring WebClient 5.x. JSON processing: Jackson 2.9.x
resteasy
HTTP client: Resteasy client 3.x. JSON processing: Jackson 2.9.x
vertx
HTTP client: VertX client 3.x. JSON processing: Jackson 2.9.x
google-api-client
HTTP client: Google API client 1.x. JSON processing: Jackson 2.9.x
rest-assured
HTTP client: rest-assured : 4.x. JSON processing: Gson 2.x or Jackson 2.9.x. Only for Java8
native
HTTP client: Java native HttpClient. JSON processing: Jackson 2.9.x. Only for Java11+
microprofile
HTTP client: Microprofile client X.x. JSON processing: Jackson 2.9.x
okhttp-gson
licenseNameThe name of the licenseUnlicense
licenseUrlThe URL of the licensehttp://unlicense.org
modelPackagepackage for generated modelsorg.openapitools.client.model
parcelableModelWhether to generate models for Android that implement Parcelable with the okhttp-gson library.false
parentArtifactIdparent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effectnull
parentGroupIdparent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effectnull
parentVersionparent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effectnull
performBeanValidationPerform BeanValidationfalse
playVersionVersion of Play! Framework (possible values "play24", "play25" (default), "play26")null
prependFormOrBodyParametersAdd form or body parameters to the beginning of the parameter list.false
scmConnectionSCM connection in generated pom.xmlscm:git:git@github.com:openapitools/openapi-generator.git
scmDeveloperConnectionSCM developer connection in generated pom.xmlscm:git:git@github.com:openapitools/openapi-generator.git
scmUrlSCM URL in generated pom.xmlhttps://github.com/openapitools/openapi-generator
serializableModelboolean - toggle "implements Serializable" for generated modelsfalse
serializationLibrarySerialization library, default depends from the library
jackson
Use Jackson as serialization library
gson
Use Gson as serialization library
null
snapshotVersionUses a SNAPSHOT version.
true
Use a SnapShot Version
false
Use a Release Version
null
sortModelPropertiesByRequiredFlagSort model properties to place required parameters before optional parameters.true
sortParamsByRequiredFlagSort method arguments to place required parameters before optional parameters.true
sourceFoldersource folder for generated codesrc/main/java
supportJava6Whether to support Java6 with the Jersey1 library.false
useBeanValidationUse BeanValidation API annotationsfalse
useGzipFeatureSend gzip-encoded requestsfalse
usePlayWSUse Play! Async HTTP client (Play WS API)false
useReflectionEqualsHashCodeUse org.apache.commons.lang3.builder for equals and hashCode in the models. WARNING: This will fail under a security manager, unless the appropriate permissions are set up correctly and also there's potential performance impact.false
useRuntimeExceptionUse RuntimeException instead of Exceptionfalse
useRxJavaWhether to use the RxJava adapter with the retrofit2 library.false
useRxJava2Whether to use the RxJava2 adapter with the retrofit2 library.false
withXmlwhether 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)false

IMPORT MAPPING

Type/AliasImports
Arrayjava.util.List
ArrayListjava.util.ArrayList
BigDecimaljava.math.BigDecimal
Datejava.util.Date
DateTimeorg.joda.time.*
Filejava.io.File
HashMapjava.util.HashMap
Listjava.util.*
LocalDateorg.joda.time.*
LocalDateTimeorg.joda.time.*
LocalTimeorg.joda.time.*
Mapjava.util.Map
Setjava.util.*
Timestampjava.sql.Timestamp
URIjava.net.URI
UUIDjava.util.UUID

INSTANTIATION TYPES

Type/AliasInstantiated By
arrayArrayList
mapHashMap

LANGUAGE PRIMITIVES

  • Boolean
  • Double
  • Float
  • Integer
  • Long
  • Object
  • String
  • boolean
  • byte[]

RESERVED WORDS

  • abstract
  • apiclient
  • apiexception
  • apiresponse
  • assert
  • boolean
  • break
  • byte
  • case
  • catch
  • char
  • class
  • configuration
  • const
  • continue
  • default
  • do
  • double
  • else
  • enum
  • extends
  • final
  • finally
  • float
  • for
  • goto
  • if
  • implements
  • import
  • instanceof
  • int
  • interface
  • localreturntype
  • localvaraccept
  • localvaraccepts
  • localvarauthnames
  • localvarcollectionqueryparams
  • localvarcontenttype
  • localvarcontenttypes
  • localvarcookieparams
  • localvarformparams
  • localvarheaderparams
  • localvarpath
  • localvarpostbody
  • localvarqueryparams
  • long
  • native
  • new
  • null
  • object
  • package
  • private
  • protected
  • public
  • return
  • short
  • static
  • strictfp
  • stringutil
  • super
  • switch
  • synchronized
  • this
  • throw
  • throws
  • transient
  • try
  • void
  • volatile
  • while

FEATURE SET

Client Modification Feature

NameSupportedDefined By
BasePath✓ToolingExtension
Authorizations✗ToolingExtension
UserAgent✗ToolingExtension

Data Type Feature

NameSupportedDefined By
Custom✗OAS2,OAS3
Int32✓OAS2,OAS3
Int64✓OAS2,OAS3
Float✓OAS2,OAS3
Double✓OAS2,OAS3
Decimal✓ToolingExtension
String✓OAS2,OAS3
Byte✓OAS2,OAS3
Binary✓OAS2,OAS3
Boolean✓OAS2,OAS3
Date✓OAS2,OAS3
DateTime✓OAS2,OAS3
Password✓OAS2,OAS3
File✓OAS2
Array✓OAS2,OAS3
Maps✓ToolingExtension
CollectionFormat✓OAS2
CollectionFormatMulti✓OAS2
Enum✓OAS2,OAS3
ArrayOfEnum✓ToolingExtension
ArrayOfModel✓ToolingExtension
ArrayOfCollectionOfPrimitives✓ToolingExtension
ArrayOfCollectionOfModel✓ToolingExtension
ArrayOfCollectionOfEnum✓ToolingExtension
MapOfEnum✓ToolingExtension
MapOfModel✓ToolingExtension
MapOfCollectionOfPrimitives✓ToolingExtension
MapOfCollectionOfModel✓ToolingExtension
MapOfCollectionOfEnum✓ToolingExtension

Documentation Feature

NameSupportedDefined By
Readme✓ToolingExtension
Model✓ToolingExtension
Api✓ToolingExtension

Global Feature

NameSupportedDefined By
Host✓OAS2,OAS3
BasePath✓OAS2,OAS3
Info✓OAS2,OAS3
Schemes✗OAS2,OAS3
PartialSchemes✓OAS2,OAS3
Consumes✓OAS2
Produces✓OAS2
ExternalDocumentation✓OAS2,OAS3
Examples✓OAS2,OAS3
XMLStructureDefinitions✗OAS2,OAS3
MultiServer✗OAS3
ParameterizedServer✗OAS3
ParameterStyling✗OAS3
Callbacks✗OAS3
LinkObjects✗OAS3

Parameter Feature

NameSupportedDefined By
Path✓OAS2,OAS3
Query✓OAS2,OAS3
Header✓OAS2,OAS3
Body✓OAS2
FormUnencoded✓OAS2
FormMultipart✓OAS2
Cookie✓OAS3

Schema Support Feature

NameSupportedDefined By
Simple✓OAS2,OAS3
Composite✓OAS2,OAS3
Polymorphism✗OAS2,OAS3
Union✗OAS3

Security Feature

NameSupportedDefined By
BasicAuth✗OAS2,OAS3
ApiKey✗OAS2,OAS3
OpenIDConnect✗OAS3
BearerToken✗OAS3
OAuth2_Implicit✗OAS2,OAS3
OAuth2_Password✗OAS2,OAS3
OAuth2_ClientCredentials✗OAS2,OAS3
OAuth2_AuthorizationCode✗OAS2,OAS3

Wire Format Feature

NameSupportedDefined By
JSON✓OAS2,OAS3
XML✓OAS2,OAS3
PROTOBUF✗ToolingExtension
Custom✗OAS2,OAS3
Last updated on 2/2/2020
  • IMPORT MAPPING
  • INSTANTIATION TYPES
  • LANGUAGE PRIMITIVES
  • RESERVED WORDS
  • FEATURE SET
    • Client Modification Feature
    • Data Type Feature
    • Documentation Feature
    • Global Feature
    • Parameter Feature
    • Schema Support Feature
    • Security Feature
    • Wire Format Feature
OpenAPI Generator
Docs
Customizing GeneratorsWorkflow Integrations
Community
User ShowcaseStack OverflowChat RoomTwitter
More
BlogGitHub RepoStar
Copyright © 2020 OpenAPI-Generator Contributors (https://openapi-generator.tech). (Both "OpenAPI Tools" (https://OpenAPITools.org) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI))