27 lines
34 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-generators/kotlin-spring">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Documentation for the kotlin-spring Generator | OpenAPI Generator</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" name="twitter:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" property="og:url" content="https://openapi-generator.tech/docs/generators/kotlin-spring"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Documentation for the kotlin-spring Generator | OpenAPI Generator"><meta data-rh="true" name="description" content="METADATA"><meta data-rh="true" property="og:description" content="METADATA"><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://openapi-generator.tech/docs/generators/kotlin-spring"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/generators/kotlin-spring" hreflang="en"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/generators/kotlin-spring" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://51ITDG8FYN-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenAPI Generator RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenAPI Generator Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-132927057-1","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<link rel="search" type="application/opensearchdescription+xml" title="OpenAPI Generator" href="/opensearch.xml">
<script src="https://buttons.github.io/buttons.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
<script src="/js/code-block-buttons.js"></script><link rel="stylesheet" href="/assets/css/styles.fcd3a3ce.css">
<link rel="preload" href="/assets/js/runtime~main.09a85c88.js" as="script">
<link rel="preload" href="/assets/js/main.a89d8488.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">OpenAPI Generator</b></a><a class="navbar__item navbar__link" href="/docs/installation">Getting Started</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/generators">Generators</a><a class="navbar__item navbar__link" href="/docs/roadmap">Roadmap</a><a class="navbar__item navbar__link" href="/docs/faq">FAQ</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a href="https://api.openapi-generator.tech" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">API</a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><main class="docMainContainer_gTbr docMainContainerEnhanced_Uz_u"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Documentation for the kotlin-spring Generator</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="metadata">METADATA<a href="#metadata" class="hash-link" aria-label="Direct link to METADATA" title="Direct link to METADATA"></a></h2><table><thead><tr><th>Property</th><th>Value</th><th>Notes</th></tr></thead><tbody><tr><td>generator name</td><td>kotlin-spring</td><td>pass this to the generate command after -g</td></tr><tr><td>generator stability</td><td>STABLE</td><td></td></tr><tr><td>generator type</td><td>SERVER</td><td></td></tr><tr><td>generator language</td><td>Kotlin</td><td></td></tr><tr><td>generator default templating engine</td><td>mustache</td><td></td></tr><tr><td>helpTxt</td><td>Generates a Kotlin Spring application.</td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="config-options">CONFIG OPTIONS<a href="#config-options" class="hash-link" aria-label="Direct link to CONFIG OPTIONS" title="Direct link to CONFIG OPTIONS"></a></h2><p>These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to <a href="https://openapi-generator.tech/docs/configuration" target="_blank" rel="noopener noreferrer">configuration docs</a> for more details.</p><table><thead><tr><th>Option</th><th>Description</th><th>Values</th><th>Default</th></tr></thead><tbody><tr><td>additionalModelTypeAnnotations</td><td>Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)</td><td></td><td>null</td></tr><tr><td>annotationLibrary</td><td>Select the complementary documentation annotation library.</td><td><dl><dt><strong>none</strong></dt><dd>Do not annotate Model and Api with complementary annotations.</dd><dt><strong>swagger1</strong></dt><dd>Annotate Model and Api using the Swagger Annotations 1.x library.</dd><dt><strong>swagger2</strong></dt><dd>Annotate Model and Api using the Swagger Annotations 2.x library.</dd></dl></td><td>swagger2</td></tr><tr><td>apiPackage</td><td>api package for generated code</td><td></td><td>org.openapitools.api</td></tr><tr><td>apiSuffix</td><td>suffix for api classes</td><td></td><td>Api</td></tr><tr><td>artifactId</td><td>Generated artifact id (name of jar).</td><td></td><td>openapi-spring</td></tr><tr><td>artifactVersion</td><td>Generated artifact&#x27;s package version.</td><td></td><td>1.0.0</td></tr><tr><td>basePackage</td><td>base package (invokerPackage) for generated code</td><td></td><td>org.openapitools</td></tr><tr><td>beanQualifiers</td><td>Whether to add fully-qualifier class names as bean qualifiers in @Component and @RestController annotations. May be used to prevent bean names clash if multiple generated libraries (contexts) added to single project.</td><td></td><td>false</td></tr><tr><td>configPackage</td><td>configuration package for generated code</td><td></td><td>org.openapitools.configuration</td></tr><tr><td>delegatePattern</td><td>Whether to generate the server files using the delegate pattern</td><td></td><td>false</td></tr><tr><td>documentationProvider</td><td>Select the OpenAPI documentation provider.</td><td><dl><dt><strong>none</strong></dt><dd>Do not publish an OpenAPI specification.</dd><dt><strong>source</strong></dt><dd>Publish the original input OpenAPI specification.</dd><dt><strong>springfox</strong></dt><dd>Generate an OpenAPI 2 (fka Swagger RESTful API Documentation Specification) specification using SpringFox 2.x. Deprecated (for removal); use springdoc instead.</dd><dt><strong>springdoc</strong></dt><dd>Generate an OpenAPI 3 specification using SpringDoc.</dd></dl></td><td>springdoc</td></tr><tr><td>enumPropertyNaming</td><td>Naming convention for enum properties: &#x27;camelCase&#x27;, &#x27;PascalCase&#x27;, &#x27;snake_case&#x27;, &#x27;UPPERCASE&#x27;, and &#x27;original&#x27;</td><td></td><td>original</td></tr><tr><td>exceptionHandler</td><td>generate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )</td><td></td><td>true</td></tr><tr><td>gradleBuildFile</td><td>generate a gradle build file using the Kotlin DSL</td><td></td><td>true</td></tr><tr><td>groupId</td><td>Generated artifact package&#x27;s organization (i.e. maven groupId).</td><td></td><td>org.openapitools</td></tr><tr><td>interfaceOnly</td><td>Whether to generate only API interface stubs without the server files.</td><td></td><td>false</td></tr><tr><td>library</td><td>library template (sub-template)</td><td><dl><dt><strong>spring-boot</strong></dt><dd>Spring-boot Server application.</dd><dt><strong>spring-cloud</strong></dt><dd>Spring-Cloud-Feign client with Spring-Boot auto-configured settings.</dd></dl></td><td>spring-boot</td></tr><tr><td>modelMutable</td><td>Create mutable models</td><td></td><td>false</td></tr><tr><td>modelPackage</td><td>model package for generated code</td><td></td><td>org.openapitools.model</td></tr><tr><td>packageName</td><td>Generated artifact package name.</td><td></td><td>org.openapitools</td></tr><tr><td>parcelizeModels</td><td>toggle <!-- -->&quot;<!-- -->@Parcelize<!-- -->&quot;<!-- --> for generated models</td><td></td><td>null</td></tr><tr><td>reactive</td><td>use coroutines for reactive behavior</td><td></td><td>false</td></tr><tr><td>requestMappingMode</td><td>Where to generate the class level @RequestMapping annotation.</td><td><dl><dt><strong>api_interface</strong></dt><dd>Generate the @RequestMapping annotation on the generated Api Interface.</dd><dt><strong>controller</strong></dt><dd>Generate the @RequestMapping annotation on the generated Api Controller Implementation.</dd><dt><strong>none</strong></dt><dd>Do not add a class level @RequestMapping annotation.</dd></dl></td><td>controller</td></tr><tr><td>serializableModel</td><td>boolean - toggle <!-- -->&quot;<!-- -->implements Serializable<!-- -->&quot;<!-- --> for generated models</td><td></td><td>null</td></tr><tr><td>serverPort</td><td>configuration the port in which the sever is to run on</td><td></td><td>8080</td></tr><tr><td>serviceImplementation</td><td>generate stub service implementations that extends service interfaces. If this is set to true service interfaces will also be generated</td><td></td><td>false</td></tr><tr><td>serviceInterface</td><td>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</td><td></td><td>false</td></tr><tr><td>skipDefaultInterface</td><td>Whether to skip generation of default implementations for interfaces (Api interfaces or Delegate interfaces depending on the delegatePattern option)</td><td></td><td>false</td></tr><tr><td>sortModelPropertiesByRequiredFlag</td><td>Sort model properties to place required parameters before optional parameters.</td><td></td><td>null</td></tr><tr><td>sortParamsByRequiredFlag</td><td>Sort method arguments to place required parameters before optional parameters.</td><td></td><td>null</td></tr><tr><td>sourceFolder</td><td>source folder for generated code</td><td></td><td>src/main/kotlin</td></tr><tr><td>title</td><td>server title name or client service name</td><td></td><td>OpenAPI Kotlin Spring</td></tr><tr><td>useBeanValidation</td><td>Use BeanValidation API annotations to validate data types</td><td></td><td>true</td></tr><tr><td>useFeignClientUrl</td><td>Whether to generate Feign client with url parameter.</td><td></td><td>true</td></tr><tr><td>useFlowForArrayReturnType</td><td>Whether to use Flow for array/collection return types when reactive is enabled. If false, will use List instead.</td><td></td><td>true</td></tr><tr><td>useSpringBoot3</td><td>Generate code and provide dependencies for use with Spring Boot 3.x. (Use jakarta instead of javax in imports). Enabling this option will also enable <code>useJakartaEe</code>.</td><td></td><td>false</td></tr><tr><td>useSwaggerUI</td><td>Open the OpenApi specification in swagger-ui. Will also import and configure needed dependencies</td><td></td><td>true</td></tr><tr><td>useTags</td><td>Whether to use tags for creating interface and controller class names</td><td></td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="supported-vendor-extensions">SUPPORTED VENDOR EXTENSIONS<a href="#supported-vendor-extensions" class="hash-link" aria-label="Direct link to SUPPORTED VENDOR EXTENSIONS" title="Direct link to SUPPORTED VENDOR EXTENSIONS"></a></h2><table><thead><tr><th>Extension name</th><th>Description</th><th>Applicable for</th><th>Default value</th></tr></thead><tbody><tr><td>x-accepts</td><td>Specify custom value for &#x27;Accept&#x27; header for operation</td><td>OPERATION</td><td>null</td></tr><tr><td>x-class-extra-annotation</td><td>List of custom annotations to be added to model</td><td>MODEL</td><td>null</td></tr><tr><td>x-content-type</td><td>Specify custom value for &#x27;Content-Type&#x27; header for operation</td><td>OPERATION</td><td>null</td></tr><tr><td>x-discriminator-value</td><td>Used with model inheritance to specify value for discriminator that identifies current model</td><td>MODEL</td><td></td></tr><tr><td>x-field-extra-annotation</td><td>List of custom annotations to be added to property</td><td>FIELD, OPERATION_PARAMETER</td><td>null</td></tr><tr><td>x-pattern-message</td><td>Add this property whenever you need to customize the invalidation error message for the regex pattern of a variable</td><td>FIELD, OPERATION_PARAMETER</td><td>null</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="import-mapping">IMPORT MAPPING<a href="#import-mapping" class="hash-link" aria-label="Direct link to IMPORT MAPPING" title="Direct link to IMPORT MAPPING"></a></h2><table><thead><tr><th>Type/Alias</th><th>Imports</th></tr></thead><tbody><tr><td>BigDecimal</td><td>java.math.BigDecimal</td></tr><tr><td>Date</td><td>java.time.LocalDate</td></tr><tr><td>DateTime</td><td>java.time.OffsetDateTime</td></tr><tr><td>File</td><td>java.io.File</td></tr><tr><td>LocalDate</td><td>java.time.LocalDate</td></tr><tr><td>LocalDateTime</td><td>java.time.LocalDateTime</td></tr><tr><td>LocalTime</td><td>java.time.LocalTime</td></tr><tr><td>Timestamp</td><td>java.sql.Timestamp</td></tr><tr><td>URI</td><td>java.net.URI</td></tr><tr><td>UUID</td><td>java.util.UUID</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="instantiation-types">INSTANTIATION TYPES<a href="#instantiation-types" class="hash-link" aria-label="Direct link to INSTANTIATION TYPES" title="Direct link to INSTANTIATION TYPES"></a></h2><table><thead><tr><th>Type/Alias</th><th>Instantiated By</th></tr></thead><tbody><tr><td>array</td><td>kotlin.collections.ArrayList</td></tr><tr><td>list</td><td>kotlin.collections.ArrayList</td></tr><tr><td>map</td><td>kotlin.collections.HashMap</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="language-primitives">LANGUAGE PRIMITIVES<a href="#language-primitives" class="hash-link" aria-label="Direct link to LANGUAGE PRIMITIVES" title="Direct link to LANGUAGE PRIMITIVES"></a></h2><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.MutableList</li><li>kotlin.collections.MutableMap</li><li>kotlin.collections.MutableSet</li><li>kotlin.collections.Set</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="reserved-words">RESERVED WORDS<a href="#reserved-words" class="hash-link" aria-label="Direct link to RESERVED WORDS" title="Direct link to RESERVED WORDS"></a></h2><ul class="column-ul"><li>ApiClient</li><li>ApiException</li><li>ApiResponse</li><li>abstract</li><li>actual</li><li>annotation</li><li>as</li><li>break</li><li>class</li><li>companion</li><li>const</li><li>constructor</li><li>continue</li><li>contract</li><li>crossinline</li><li>data</li><li>delegate</li><li>do</li><li>dynamic</li><li>else</li><li>enum</li><li>expect</li><li>external</li><li>false</li><li>field</li><li>final</li><li>finally</li><li>for</li><li>fun</li><li>if</li><li>import</li><li>in</li><li>infix</li><li>init</li><li>inline</li><li>inner</li><li>interface</li><li>internal</li><li>is</li><li>it</li><li>lateinit</li><li>noinline</li><li>null</li><li>object</li><li>open</li><li>operator</li><li>out</li><li>override</li><li>package</li><li>param</li><li>private</li><li>property</li><li>protected</li><li>public</li><li>receiver</li><li>reified</li><li>return</li><li>sealed</li><li>setparam</li><li>super</li><li>suspend</li><li>tailrec</li><li>this</li><li>throw</li><li>true</li><li>try</li><li>typealias</li><li>typeof</li><li>val</li><li>value</li><li>var</li><li>vararg</li><li>when</li><li>where</li><li>while</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="feature-set">FEATURE SET<a href="#feature-set" class="hash-link" aria-label="Direct link to FEATURE SET" title="Direct link to FEATURE SET"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="client-modification-feature">Client Modification Feature<a href="#client-modification-feature" class="hash-link" aria-label="Direct link to Client Modification Feature" title="Direct link to Client Modification Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>BasePath</td><td></td><td>ToolingExtension</td></tr><tr><td>Authorizations</td><td></td><td>ToolingExtension</td></tr><tr><td>UserAgent</td><td></td><td>ToolingExtension</td></tr><tr><td>MockServer</td><td></td><td>ToolingExtension</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="data-type-feature">Data Type Feature<a href="#data-type-feature" class="hash-link" aria-label="Direct link to Data Type Feature" title="Direct link to Data Type Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>Custom</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Int32</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Int64</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Float</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Double</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Decimal</td><td></td><td>ToolingExtension</td></tr><tr><td>String</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Byte</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Binary</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Boolean</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Date</td><td></td><td>OAS2,OAS3</td></tr><tr><td>DateTime</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Password</td><td></td><td>OAS2,OAS3</td></tr><tr><td>File</td><td></td><td>OAS2</td></tr><tr><td>Uuid</td><td></td><td></td></tr><tr><td>Array</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Null</td><td></td><td>OAS3</td></tr><tr><td>AnyType</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Object</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Maps</td><td></td><td>ToolingExtension</td></tr><tr><td>CollectionFormat</td><td></td><td>OAS2</td></tr><tr><td>CollectionFormatMulti</td><td></td><td>OAS2</td></tr><tr><td>Enum</td><td></td><td>OAS2,OAS3</td></tr><tr><td>ArrayOfEnum</td><td></td><td>ToolingExtension</td></tr><tr><td>ArrayOfModel</td><td></td><td>ToolingExtension</td></tr><tr><td>ArrayOfCollectionOfPrimitives</td><td></td><td>ToolingExtension</td></tr><tr><td>ArrayOfCollectionOfModel</td><td></td><td>ToolingExtension</td></tr><tr><td>ArrayOfCollectionOfEnum</td><td></td><td>ToolingExtension</td></tr><tr><td>MapOfEnum</td><td></td><td>ToolingExtension</td></tr><tr><td>MapOfModel</td><td></td><td>ToolingExtension</td></tr><tr><td>MapOfCollectionOfPrimitives</td><td></td><td>ToolingExtension</td></tr><tr><td>MapOfCollectionOfModel</td><td></td><td>ToolingExtension</td></tr><tr><td>MapOfCollectionOfEnum</td><td></td><td>ToolingExtension</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="documentation-feature">Documentation Feature<a href="#documentation-feature" class="hash-link" aria-label="Direct link to Documentation Feature" title="Direct link to Documentation Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>Readme</td><td></td><td>ToolingExtension</td></tr><tr><td>Model</td><td></td><td>ToolingExtension</td></tr><tr><td>Api</td><td></td><td>ToolingExtension</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="global-feature">Global Feature<a href="#global-feature" class="hash-link" aria-label="Direct link to Global Feature" title="Direct link to Global Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>Host</td><td></td><td>OAS2,OAS3</td></tr><tr><td>BasePath</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Info</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Schemes</td><td></td><td>OAS2,OAS3</td></tr><tr><td>PartialSchemes</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Consumes</td><td></td><td>OAS2</td></tr><tr><td>Produces</td><td></td><td>OAS2</td></tr><tr><td>ExternalDocumentation</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Examples</td><td></td><td>OAS2,OAS3</td></tr><tr><td>XMLStructureDefinitions</td><td></td><td>OAS2,OAS3</td></tr><tr><td>MultiServer</td><td></td><td>OAS3</td></tr><tr><td>ParameterizedServer</td><td></td><td>OAS3</td></tr><tr><td>ParameterStyling</td><td></td><td>OAS3</td></tr><tr><td>Callbacks</td><td></td><td>OAS3</td></tr><tr><td>LinkObjects</td><td></td><td>OAS3</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="parameter-feature">Parameter Feature<a href="#parameter-feature" class="hash-link" aria-label="Direct link to Parameter Feature" title="Direct link to Parameter Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>Path</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Query</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Header</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Body</td><td></td><td>OAS2</td></tr><tr><td>FormUnencoded</td><td></td><td>OAS2</td></tr><tr><td>FormMultipart</td><td></td><td>OAS2</td></tr><tr><td>Cookie</td><td></td><td>OAS3</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="schema-support-feature">Schema Support Feature<a href="#schema-support-feature" class="hash-link" aria-label="Direct link to Schema Support Feature" title="Direct link to Schema Support Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>Simple</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Composite</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Polymorphism</td><td></td><td>OAS2,OAS3</td></tr><tr><td>Union</td><td></td><td>OAS3</td></tr><tr><td>allOf</td><td></td><td>OAS2,OAS3</td></tr><tr><td>anyOf</td><td></td><td>OAS3</td></tr><tr><td>oneOf</td><td></td><td>OAS3</td></tr><tr><td>not</td><td></td><td>OAS3</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="security-feature">Security Feature<a href="#security-feature" class="hash-link" aria-label="Direct link to Security Feature" title="Direct link to Security Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>BasicAuth</td><td></td><td>OAS2,OAS3</td></tr><tr><td>ApiKey</td><td></td><td>OAS2,OAS3</td></tr><tr><td>OpenIDConnect</td><td></td><td>OAS3</td></tr><tr><td>BearerToken</td><td></td><td>OAS3</td></tr><tr><td>OAuth2_Implicit</td><td></td><td>OAS2,OAS3</td></tr><tr><td>OAuth2_Password</td><td></td><td>OAS2,OAS3</td></tr><tr><td>OAuth2_ClientCredentials</td><td></td><td>OAS2,OAS3</td></tr><tr><td>OAuth2_AuthorizationCode</td><td></td><td>OAS2,OAS3</td></tr><tr><td>SignatureAuth</td><td></td><td>OAS3</td></tr><tr><td>AWSV4Signature</td><td></td><td>ToolingExtension</td></tr></tbody></table><h3 class="anchor anchorWithStickyNavbar_LWe7" id="wire-format-feature">Wire Format Feature<a href="#wire-format-feature" class="hash-link" aria-label="Direct link to Wire Format Feature" title="Direct link to Wire Format Feature"></a></h3><table><thead><tr><th>Name</th><th>Supported</th><th>Defined By</th></tr></thead><tbody><tr><td>JSON</td><td></td><td>OAS2,OAS3</td></tr><tr><td>XML</td><td></td><td>OAS2,OAS3</td></tr><tr><td>PROTOBUF</td><td></td><td>ToolingExtension</td></tr><tr><td>Custom</td><td></td><td>OAS2,OAS3</td></tr></tbody></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenAPITools/openapi-generator/edit/master/website/../docs/generators/kotlin-spring.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2025-01-11T07:53:04.000Z">Jan 11, 2025</time></b> by <b>Ruslan Khasanshin</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#metadata" class="table-of-contents__link toc-highlight">METADATA</a></li><li><a href="#config-options" class="table-of-contents__link toc-highlight">CONFIG OPTIONS</a></li><li><a href="#supported-vendor-extensions" class="table-of-contents__link toc-highlight">SUPPORTED VENDOR EXTENSIONS</a></li><li><a href="#import-mapping" class="table-of-contents__link toc-highlight">IMPORT MAPPING</a></li><li><a href="#instantiation-types" class="table-of-contents__link toc-highlight">INSTANTIATION TYPES</a></li><li><a href="#language-primitives" class="table-of-contents__link toc-highlight">LANGUAGE PRIMITIVES</a></li><li><a href="#reserved-words" class="table-of-contents__link toc-highlight">RESERVED WORDS</a></li><li><a href="#feature-set" class="table-of-contents__link toc-highlight">FEATURE SET</a><ul><li><a href="#client-modification-feature" class="table-of-contents__link toc-highlight">Client Modification Feature</a></li><li><a href="#data-type-feature" class="table-of-contents__link toc-highlight">Data Type Feature</a></li><li><a href="#documentation-feature" class="table-of-contents__link toc-highlight">Documentation Feature</a></li><li><a href="#global-feature" class="table-of-contents__link toc-highlight">Global Feature</a></li><li><a href="#parameter-feature" class="table-of-contents__link toc-highlight">Parameter Feature</a></li><li><a href="#schema-support-feature" class="table-of-contents__link toc-highlight">Schema Support Feature</a></li><li><a href="#security-feature" class="table-of-contents__link toc-highlight">Security Feature</a></li><li><a href="#wire-format-feature" class="table-of-contents__link toc-highlight">Wire Format Feature</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/customization">Customizing Generators</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/integrations">Workflow Integrations</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/users">User Showcase</a></li><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chat Room<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/oas_generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/OpenAPITools/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://openapi-generator.tech/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">Copyright © 2025 OpenAPI-Generator Contributors (https://openapi-generator.tech)</div></div></div></footer></div>
<script src="/assets/js/runtime~main.09a85c88.js"></script>
<script src="/assets/js/main.a89d8488.js"></script>
</body>
</html>