Config Options for kotlin-server
| Option | Description | Values | Default | 
|---|---|---|---|
| apiSuffix | suffix for api classes | Api | |
| artifactId | Generated artifact id (name of jar). | kotlin-server | |
| artifactVersion | Generated artifact's package version. | 1.0.0 | |
| enumPropertyNaming | Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' | camelCase | |
| featureAutoHead | Automatically provide responses to HEAD requests for existing routes that have the GET verb defined. | true | |
| featureCORS | Ktor by default provides an interceptor for implementing proper support for Cross-Origin Resource Sharing (CORS). See enable-cors.org. | false | |
| featureCompression | Adds ability to compress outgoing content using gzip, deflate or custom encoder and thus reduce size of the response. | true | |
| featureConditionalHeaders | Avoid sending content if client already has same content, by checking ETag or LastModified properties. | false | |
| featureHSTS | Avoid sending content if client already has same content, by checking ETag or LastModified properties. | true | |
| groupId | Generated artifact package's organization (i.e. maven groupId). | org.openapitools | |
| library | library template (sub-template) | 
 | ktor | 
| modelMutable | Create mutable models | false | |
| packageName | Generated artifact package name. | org.openapitools.server | |
| parcelizeModels | toggle "@Parcelize" for generated models | null | |
| serializableModel | boolean - toggle "implements Serializable" for generated models | null | |
| serializationLibrary | What serialization library to use: 'moshi' (default), or 'gson' or 'jackson' | moshi | |
| sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. | null | |
| sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | null | |
| sourceFolder | source folder for generated code | src/main/kotlin | 
IMPORT MAPPING
| Type/Alias | Imports | 
|---|---|
| BigDecimal | java.math.BigDecimal | 
| Date | java.util.Date | 
| DateTime | java.time.LocalDateTime | 
| File | java.io.File | 
| LocalDate | java.time.LocalDate | 
| LocalDateTime | java.time.LocalDateTime | 
| LocalTime | java.time.LocalTime | 
| Timestamp | java.sql.Timestamp | 
| URI | java.net.URI | 
| UUID | java.util.UUID | 
INSTANTIATION TYPES
| Type/Alias | Instantiated By | 
|---|---|
| array | kotlin.Array | 
| list | kotlin.collections.ArrayList | 
| map | kotlin.collections.HashMap | 
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
| Name | Supported | Defined By | 
|---|---|---|
| BasePath | ✗ | ToolingExtension | 
| Authorizations | ✗ | ToolingExtension | 
| UserAgent | ✗ | ToolingExtension | 
Data Type Feature
| Name | Supported | Defined 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
| Name | Supported | Defined By | 
|---|---|---|
| Readme | ✓ | ToolingExtension | 
| Model | ✓ | ToolingExtension | 
| Api | ✓ | ToolingExtension | 
Global Feature
| Name | Supported | Defined 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
| Name | Supported | Defined By | 
|---|---|---|
| Path | ✓ | OAS2,OAS3 | 
| Query | ✓ | OAS2,OAS3 | 
| Header | ✓ | OAS2,OAS3 | 
| Body | ✓ | OAS2 | 
| FormUnencoded | ✓ | OAS2 | 
| FormMultipart | ✓ | OAS2 | 
| Cookie | ✗ | OAS3 | 
Schema Support Feature
| Name | Supported | Defined By | 
|---|---|---|
| Simple | ✓ | OAS2,OAS3 | 
| Composite | ✓ | OAS2,OAS3 | 
| Polymorphism | ✗ | OAS2,OAS3 | 
| Union | ✗ | OAS3 | 
Security Feature
| Name | Supported | Defined 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
| Name | Supported | Defined By | 
|---|---|---|
| JSON | ✓ | OAS2,OAS3 | 
| XML | ✓ | OAS2,OAS3 | 
| PROTOBUF | ✗ | ToolingExtension | 
| Custom | ✗ | OAS2,OAS3 |