forked from loafle/openapi-generator-original
* 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
224 lines
6.9 KiB
Markdown
224 lines
6.9 KiB
Markdown
---
|
|
title: Config Options for kotlin-spring
|
|
sidebar_label: kotlin-spring
|
|
---
|
|
|
|
| Option | Description | Values | Default |
|
|
| ------ | ----------- | ------ | ------- |
|
|
|apiPackage|api package for generated code| |org.openapitools.api|
|
|
|apiSuffix|suffix for api classes| |Api|
|
|
|artifactId|Generated artifact id (name of jar).| |openapi-spring|
|
|
|artifactVersion|Generated artifact's package version.| |1.0.0|
|
|
|basePackage|base package (invokerPackage) for generated code| |org.openapitools|
|
|
|delegatePattern|Whether to generate the server files using the delegate pattern| |false|
|
|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase|
|
|
|exceptionHandler|generate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )| |true|
|
|
|gradleBuildFile|generate a gradle build file using the Kotlin DSL| |true|
|
|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|
|
|interfaceOnly|Whether to generate only API interface stubs without the server files.| |false|
|
|
|library|library template (sub-template)|<dl><dt>**spring-boot**</dt><dd>Spring-boot Server application.</dd></dl>|spring-boot|
|
|
|modelMutable|Create mutable models| |false|
|
|
|modelPackage|model package for generated code| |org.openapitools.model|
|
|
|packageName|Generated artifact package name.| |org.openapitools|
|
|
|parcelizeModels|toggle "@Parcelize" for generated models| |null|
|
|
|reactive|use coroutines for reactive behavior| |false|
|
|
|serializableModel|boolean - toggle "implements Serializable" for generated models| |null|
|
|
|serializationLibrary|What serialization library to use: 'moshi' (default), or 'gson' or 'jackson'| |moshi|
|
|
|serverPort|configuration the port in which the sever is to run on| |8080|
|
|
|serviceImplementation|generate stub service implementations that extends service interfaces. If this is set to true service interfaces will also be generated| |false|
|
|
|serviceInterface|generate service interfaces to go alongside controllers. In most cases this option would be used to update an existing project, so not to override implementations. Useful to help facilitate the generation gap pattern| |false|
|
|
|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|
|
|
|swaggerAnnotations|generate swagger annotations to go alongside controllers and models| |false|
|
|
|title|server title name or client service name| |OpenAPI Kotlin Spring|
|
|
|useBeanValidation|Use BeanValidation API annotations to validate data types| |true|
|
|
|
|
## IMPORT MAPPING
|
|
|
|
| Type/Alias | Imports |
|
|
| ---------- | ------- |
|
|
|BigDecimal|java.math.BigDecimal|
|
|
|Date|java.time.LocalDate|
|
|
|DateTime|java.time.OffsetDateTime|
|
|
|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
|
|
|
|
<ul class="column-ul">
|
|
<li>kotlin.Array</li>
|
|
<li>kotlin.Boolean</li>
|
|
<li>kotlin.Byte</li>
|
|
<li>kotlin.ByteArray</li>
|
|
<li>kotlin.Char</li>
|
|
<li>kotlin.Double</li>
|
|
<li>kotlin.Float</li>
|
|
<li>kotlin.Int</li>
|
|
<li>kotlin.Long</li>
|
|
<li>kotlin.Short</li>
|
|
<li>kotlin.String</li>
|
|
<li>kotlin.collections.List</li>
|
|
<li>kotlin.collections.Map</li>
|
|
<li>kotlin.collections.Set</li>
|
|
</ul>
|
|
|
|
## RESERVED WORDS
|
|
|
|
<ul class="column-ul">
|
|
<li>ApiClient</li>
|
|
<li>ApiException</li>
|
|
<li>ApiResponse</li>
|
|
<li>as</li>
|
|
<li>break</li>
|
|
<li>class</li>
|
|
<li>continue</li>
|
|
<li>do</li>
|
|
<li>else</li>
|
|
<li>false</li>
|
|
<li>for</li>
|
|
<li>fun</li>
|
|
<li>if</li>
|
|
<li>in</li>
|
|
<li>interface</li>
|
|
<li>is</li>
|
|
<li>null</li>
|
|
<li>object</li>
|
|
<li>package</li>
|
|
<li>return</li>
|
|
<li>super</li>
|
|
<li>this</li>
|
|
<li>throw</li>
|
|
<li>true</li>
|
|
<li>try</li>
|
|
<li>typealias</li>
|
|
<li>typeof</li>
|
|
<li>val</li>
|
|
<li>var</li>
|
|
<li>when</li>
|
|
<li>while</li>
|
|
</ul>
|
|
|
|
## 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
|