mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
* Added support Retrofit2(RxJava/RxJava2/Coroutines) to Kotlin client code generator * Added generated samples for Retrofit2(RxJava/RxJava2/Coroutines) on Kotlin * Fixed generating retrofit2 without Rx/Coroutines * Fixed MultipartBody template, remove redundant space after MultipartBody.Part annotation * Fix documentation diff. * Fix generating build.gradle file for samples. Add dependencies for rxJava/rxJava2 and rx retrofit's adapter. * Update generated sample with rx dependencies * Update generated sample with coroutines * Update generated sample with RxJava 2 dependencies * Update and refactoring scripts for sample generation * Update generated sample code * revert changes by mistake * revert changes by mistake #2 * Fix return type for first RxJava * Add RxJavaCallAdapterFactory to ApiClient scheme for RxJava 1/2 * Fix script loggin * Update generated code for RxJava 1/2 * Fix kotlin.md documentation by script export_docs_generators.sh * Update Kotlin samples project in pom.xml * Revert "Update Kotlin samples project in pom.xml" This reverts commit 9de4d0ba * Fixed "" wrapping number types for annotation value Fixed generating polymorphic interfaces for Gson, interface fields can't be marked with @SerializedName annotation, it's enough to mark it in child model. Fixed instantiationTypes(array, list, map) for Kotlin generator * Update Kotlin samples project after last fixes * Update Kotlin samples project for kotlin-jvm-* * Update Kotlin readme.md documentations * Update Kotlin client sample changes * Fixed encoding braces for generics model * Update Kotlin client sample changes * Update Kotlin client sample after merge with master * Fixed adding empty braces for inherit from Map/Array * Update sample model after last fix with empty braces * Revert adding @SerializedName to Kotlin interface fields through @get:SerializedName as for Jackson * Update Kotlin client samples with adding @get:SerializedName
6.0 KiB
6.0 KiB
title | sidebar_label |
---|---|
Config Options for kotlin-server | 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 |