OpenAPI Generator

OpenAPI Generator

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

Config Options for kotlin-spring

OptionDescriptionValuesDefault
apiPackageapi package for generated codeorg.openapitools.api
apiSuffixsuffix for api classesApi
artifactIdGenerated artifact id (name of jar).openapi-spring
artifactVersionGenerated artifact's package version.1.0.0
basePackagebase package (invokerPackage) for generated codeorg.openapitools
delegatePatternWhether to generate the server files using the delegate patternfalse
enumPropertyNamingNaming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'camelCase
exceptionHandlergenerate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )true
gradleBuildFilegenerate a gradle build file using the Kotlin DSLtrue
groupIdGenerated artifact package's organization (i.e. maven groupId).org.openapitools
interfaceOnlyWhether to generate only API interface stubs without the server files.false
librarylibrary template (sub-template)
spring-boot
Spring-boot Server application.
spring-boot
modelMutableCreate mutable modelsfalse
modelPackagemodel package for generated codeorg.openapitools.model
packageNameGenerated artifact package name.org.openapitools
parcelizeModelstoggle "@Parcelize" for generated modelsnull
reactiveuse coroutines for reactive behaviorfalse
serializableModelboolean - toggle "implements Serializable" for generated modelsnull
serializationLibraryWhat serialization library to use: 'moshi' (default), or 'gson'moshi
serverPortconfiguration the port in which the sever is to run on8080
serviceImplementationgenerate stub service implementations that extends service interfaces. If this is set to true service interfaces will also be generatedfalse
serviceInterfacegenerate 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 patternfalse
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
swaggerAnnotationsgenerate swagger annotations to go alongside controllers and modelsfalse
titleserver title name or client service nameOpenAPI Kotlin Spring
useBeanValidationUse BeanValidation API annotations to validate data typestrue

IMPORT MAPPING

Type/AliasImports
BigDecimaljava.math.BigDecimal
Datejava.time.LocalDate
DateTimejava.time.OffsetDateTime
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

  • ApiClient
  • ApiException
  • ApiResponse
  • 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))