mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-10-26 06:13:39 +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
7.1 KiB
7.1 KiB
| title | sidebar_label |
|---|---|
| Config Options for kotlin | kotlin |
| Option | Description | Values | Default |
|---|---|---|---|
| apiSuffix | suffix for api classes | Api | |
| artifactId | Generated artifact id (name of jar). | kotlin-client | |
| artifactVersion | Generated artifact's package version. | 1.0.0 | |
| collectionType | Option. Collection type to use |
|
array |
| dateLibrary | Option. Date library to use |
|
java8 |
| enumPropertyNaming | Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' | camelCase | |
| groupId | Generated artifact package's organization (i.e. maven groupId). | org.openapitools | |
| library | Library template (sub-template) to use |
|
jvm-okhttp4 |
| modelMutable | Create mutable models | false | |
| packageName | Generated artifact package name. | org.openapitools.client | |
| parcelizeModels | toggle "@Parcelize" for generated models | null | |
| requestDateConverter | JVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter) |
|
toJson |
| 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 | |
| useCoroutines | Whether to use the Coroutines adapter with the retrofit2 library. | false | |
| useRxJava | Whether to use the RxJava adapter with the retrofit2 library. | false | |
| useRxJava2 | Whether to use the RxJava2 adapter with the retrofit2 library. | false |
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 |