OpenAPI Generator

OpenAPI Generator

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

Config Options for kotlin

OptionDescriptionValuesDefault
apiSuffixsuffix for api classesApi
artifactIdGenerated artifact id (name of jar).kotlin-client
artifactVersionGenerated artifact's package version.1.0.0
collectionTypeOption. Collection type to use
array
kotlin.Array
list
kotlin.collections.List
array
dateLibraryOption. Date library to use
threetenbp-localdatetime
Threetenbp - Backport of JSR310 (jvm only, for legacy app only)
string
String
java8-localdatetime
Java 8 native JSR310 (jvm only, for legacy app only)
java8
Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)
threetenbp
Threetenbp - Backport of JSR310 (jvm only, preferred for jdk < 1.8)
java8
enumPropertyNamingNaming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'camelCase
groupIdGenerated artifact package's organization (i.e. maven groupId).org.openapitools
libraryLibrary template (sub-template) to use
jvm-okhttp4
[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.
jvm-okhttp3
Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0.
jvm-retrofit2
Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.
multiplatform
Platform: Kotlin multiplatform. HTTP client: Ktor 1.2.4. JSON processing: Kotlinx Serialization: 0.12.0.
jvm-okhttp4
modelMutableCreate mutable modelsfalse
packageNameGenerated artifact package name.org.openapitools.client
parcelizeModelstoggle "@Parcelize" for generated modelsnull
requestDateConverterJVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter)
toJson
[DEFAULT] Date formater option using a json converter.
toString
Use the 'toString'-method of the date-time object to retrieve the related string representation.
toJson
serializableModelboolean - toggle "implements Serializable" for generated modelsnull
serializationLibraryWhat serialization library to use: 'moshi' (default), or 'gson'moshi
sortModelPropertiesByRequiredFlagSort model properties to place required parameters before optional parameters.null
sortParamsByRequiredFlagSort method arguments to place required parameters before optional parameters.null
sourceFoldersource folder for generated codesrc/main/kotlin

IMPORT MAPPING

Type/AliasImports
BigDecimaljava.math.BigDecimal
Datejava.util.Date
DateTimejava.time.LocalDateTime
Filejava.io.File
LocalDatejava.time.LocalDate
LocalDateTimejava.time.LocalDateTime
LocalTimejava.time.LocalTime
Timestampjava.sql.Timestamp
URIjava.net.URI
UUIDjava.util.UUID

INSTANTIATION TYPES

Type/AliasInstantiated By
arraykotlin.arrayOf
listkotlin.arrayOf
mapkotlin.mapOf

LANGUAGE PRIMITIVES

  • kotlin.Array
  • kotlin.Boolean
  • kotlin.Byte
  • kotlin.ByteArray
  • kotlin.Char
  • kotlin.Double
  • kotlin.Float
  • kotlin.Int
  • kotlin.Long
  • kotlin.Short
  • kotlin.String
  • kotlin.collections.List
  • kotlin.collections.Map
  • kotlin.collections.Set

RESERVED WORDS

  • as
  • break
  • class
  • continue
  • do
  • else
  • false
  • for
  • fun
  • if
  • in
  • interface
  • is
  • null
  • object
  • package
  • return
  • super
  • this
  • throw
  • true
  • try
  • typealias
  • typeof
  • val
  • var
  • when
  • 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))