From 102f729990a1895b7c37ace08c69dfae078159d5 Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Mon, 27 Apr 2026 15:20:08 +0200
Subject: [PATCH 1/9] fix issues with incorrectly escaped values and implement
CR feedback
---
.../codegen/CodegenOperation.java | 6 +-
.../codegen/CodegenParameter.java | 7 +-
.../openapitools/codegen/CodegenProperty.java | 12 +-
.../openapitools/codegen/CodegenResponse.java | 5 +-
.../openapitools/codegen/DefaultCodegen.java | 25 +-
.../languages/AbstractKotlinCodegen.java | 15 +-
.../languages/KotlinSpringServerCodegen.java | 9 +-
.../resources/kotlin-client/api_doc.mustache | 14 +-
.../kotlin-client/class_doc.mustache | 4 +-
.../kotlin-client/data_class_opt_var.mustache | 4 +-
.../kotlin-client/data_class_req_var.mustache | 4 +-
.../libraries/jvm-ktor/api.mustache | 6 +-
.../libraries/jvm-okhttp/api.mustache | 4 +-
.../libraries/jvm-retrofit2/api.mustache | 2 +-
.../libraries/jvm-retrofit2/api_doc.mustache | 12 +-
.../jvm-retrofit2/explodedQueryParam.mustache | 2 +-
.../jvm-retrofit2/formParams.mustache | 2 +-
.../jvm-retrofit2/headerParams.mustache | 2 +-
.../jvm-retrofit2/paramJavadoc.mustache | 8 +-
.../jvm-retrofit2/pathParams.mustache | 2 +-
.../jvm-retrofit2/queryParam.mustache | 2 +-
.../jvm-spring-restclient/api.mustache | 12 +-
.../jvm-spring-webclient/api.mustache | 12 +-
.../libraries/jvm-vertx/api.mustache | 8 +-
.../libraries/jvm-volley/api.mustache | 8 +-
.../libraries/jvm-volley/api_doc.mustache | 10 +-
.../libraries/jvm-volley/formParams.mustache | 2 +-
.../jvm-volley/headerParams.mustache | 2 +-
.../libraries/jvm-volley/pathParams.mustache | 2 +-
.../libraries/jvm-volley/queryParams.mustache | 2 +-
.../libraries/multiplatform/api.mustache | 8 +-
.../param_default_value.mustache | 2 +-
.../resources/kotlin-misk/apiAction.mustache | 2 +-
.../resources/kotlin-misk/api_doc.mustache | 16 +-
.../resources/kotlin-misk/class_doc.mustache | 4 +-
.../kotlin-misk/cookieParams.mustache | 2 +-
.../main/resources/kotlin-misk/model.mustache | 2 +-
.../resources/kotlin-server/api_doc.mustache | 16 +-
.../kotlin-server/class_doc.mustache | 4 +-
.../kotlin-server/data_class_opt_var.mustache | 2 +-
.../kotlin-server/data_class_req_var.mustache | 2 +-
.../javalin5/data_class_opt_var.mustache | 2 +-
.../javalin5/data_class_req_var.mustache | 2 +-
.../libraries/javalin5/paramDefault.mustache | 2 +-
.../javalin6/data_class_opt_var.mustache | 2 +-
.../javalin6/data_class_req_var.mustache | 2 +-
.../libraries/javalin6/paramDefault.mustache | 2 +-
.../jaxrs-spec/cookieParams.mustache | 2 +-
.../jaxrs-spec/data_class_opt_var.mustache | 2 +-
.../jaxrs-spec/headerParams.mustache | 2 +-
.../libraries/jaxrs-spec/queryParams.mustache | 2 +-
.../ktor2/data_class_opt_var.mustache | 2 +-
.../ktor2/data_class_req_var.mustache | 2 +-
.../main/resources/kotlin-spring/api.mustache | 16 +-
.../kotlin-spring/apiInterface.mustache | 16 +-
.../kotlin-spring/bodyParams.mustache | 2 +-
.../kotlin-spring/cookieParams.mustache | 2 +-
.../kotlin-spring/dataClassOptVar.mustache | 6 +-
.../kotlin-spring/dataClassReqVar.mustache | 6 +-
.../kotlin-spring/formParams.mustache | 2 +-
.../kotlin-spring/headerParams.mustache | 2 +-
.../kotlin-spring/implicitHeaders.mustache | 4 +-
.../kotlin-spring/interfaceOptVar.mustache | 6 +-
.../kotlin-spring/interfaceReqVar.mustache | 4 +-
.../apiInterface.mustache | 2 +-
.../httpInterfaceBodyParams.mustache | 2 +-
.../kotlin-spring/methodBody.mustache | 2 +-
.../kotlin-spring/pathParams.mustache | 2 +-
.../kotlin-spring/queryParams.mustache | 2 +-
.../kotlin-vertx-server/api_doc.mustache | 12 +-
.../kotlin-vertx-server/class_doc.mustache | 4 +-
.../kotlin-wiremock/api-stub.mustache | 6 +-
.../resources/kotlin-wiremock/model.mustache | 6 +-
.../kotlin/KotlinClientCodegenModelTest.java | 29 +++
.../spring/KotlinSpringServerCodegenTest.java | 83 +++++++
.../issue20502-kotlin-string-escaping.yaml | 225 ++++++++++++++++++
.../docs/StoreApi.md | 2 +-
.../docs/DefaultApi.md | 6 +-
.../petstore/kotlin-explicit/docs/StoreApi.md | 2 +-
.../petstore/kotlin-gson/docs/StoreApi.md | 2 +-
.../petstore/kotlin-jackson/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-jvm-jackson/docs/StoreApi.md | 2 +-
.../kotlin-jvm-ktor-gson/docs/StoreApi.md | 2 +-
.../kotlin-jvm-ktor-jackson/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-jvm-vertx-gson/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-jvm-vertx-jackson/docs/StoreApi.md | 2 +-
.../kotlin-jvm-vertx-moshi/docs/StoreApi.md | 2 +-
.../kotlin-kotlinx-datetime/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-modelMutable/docs/StoreApi.md | 2 +-
.../kotlin-moshi-codegen/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-multiplatform/docs/StoreApi.md | 2 +-
.../kotlin-nonpublic/docs/StoreApi.md | 2 +-
.../petstore/kotlin-nullable/docs/StoreApi.md | 2 +-
.../kotlin-retrofit2-jackson/docs/StoreApi.md | 2 +-
.../docs/StoreApi.md | 2 +-
.../kotlin-retrofit2-rx3/docs/StoreApi.md | 2 +-
.../kotlin-retrofit2/docs/StoreApi.md | 2 +-
.../petstore/kotlin-string/docs/StoreApi.md | 2 +-
.../kotlin-threetenbp/docs/StoreApi.md | 2 +-
.../client/petstore/kotlin/docs/StoreApi.md | 2 +-
samples/documentation/html/index.html | 14 +-
samples/documentation/html2/index.html | 126 +++++-----
.../kotlin-misk-config/docs/StoreApi.md | 2 +-
.../petstore/kotlin-misk/docs/StoreApi.md | 2 +-
.../org/openapitools/api/PetApiDelegate.kt | 22 +-
.../org/openapitools/api/StoreApiDelegate.kt | 8 +-
.../org/openapitools/api/UserApiDelegate.kt | 4 +-
.../org/openapitools/api/PetApiDelegate.kt | 14 +-
.../org/openapitools/api/StoreApiDelegate.kt | 8 +-
.../org/openapitools/api/UserApiDelegate.kt | 4 +-
120 files changed, 697 insertions(+), 309 deletions(-)
create mode 100644 modules/openapi-generator/src/test/resources/3_0/kotlin/issue20502-kotlin-string-escaping.yaml
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
index 47e09ea292d4..e8c89ac9b6fa 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java
@@ -33,7 +33,7 @@ public class CodegenOperation {
hasErrorResponseObject; // if 4xx, 5xx responses have at least one error object defined
public CodegenProperty returnProperty;
public String path, operationId, returnType, returnFormat, httpMethod, returnBaseType,
- returnContainer, summary, unescapedNotes, notes, baseName, defaultResponse;
+ returnContainer, summary, unescapedSummary, unescapedNotes, notes, baseName, defaultResponse;
public CodegenDiscriminator discriminator;
public List
*
*
- * Response headers: [CodegenProperty{openApiType='string', baseName='Set-Cookie', complexType='null', getter='getSetCookie', setter='setSetCookie', description='Cookie authentication key for use with the `api_key` apiKey authentication.', dataType='String', datatypeWithEnum='String', dataFormat='null', name='setCookie', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.Set-Cookie;', baseType='String', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='Cookie authentication key for use with the `api_key` apiKey authentication.', maxLength=null, minLength=null, pattern='null', example='AUTH_KEY=abcde12345; Path=/; HttpOnly', jsonSchema='{
+ *
Response headers: [CodegenProperty{openApiType='string', baseName='Set-Cookie', complexType='null', getter='getSetCookie', setter='setSetCookie', description='Cookie authentication key for use with the `api_key` apiKey authentication.', dataType='String', datatypeWithEnum='String', dataFormat='null', name='setCookie', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.Set-Cookie;', baseType='String', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='Cookie authentication key for use with the `api_key` apiKey authentication.', unescapedDefaultValue='null', maxLength=null, minLength=null, pattern='null', example='AUTH_KEY=abcde12345; Path=/; HttpOnly', jsonSchema='{
"example" : "AUTH_KEY=abcde12345; Path=/; HttpOnly",
"type" : "string"
-}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=true, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isOptional=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='setCookie', nameInPascalCase='SetCookie', nameInSnakeCase='SET_COOKIE', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, hasSanitizedName=true, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=null, dependentRequired=null, contains=null}, CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='calls per hour allowed by the user', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
+}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=true, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isOptional=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='setCookie', nameInPascalCase='SetCookie', nameInSnakeCase='SET_COOKIE', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, hasSanitizedName=true, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=null, dependentRequired=null, contains=null}, CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='calls per hour allowed by the user', unescapedDefaultValue='null', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
"format" : "int32",
"type" : "integer"
-}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isOptional=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='xRateLimit', nameInPascalCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, hasSanitizedName=true, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32, dependentRequired=null, contains=null}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='date in UTC when token expires', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
+}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isOptional=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='xRateLimit', nameInPascalCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, hasSanitizedName=true, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32, dependentRequired=null, contains=null}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='date in UTC when token expires', unescapedDefaultValue='null', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
"format" : "date-time",
"type" : "string"
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, isPrimitiveType=false, isModel=false, isContainer=false, isString=false, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=true, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isOptional=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='xExpiresAfter', nameInPascalCase='XExpiresAfter', nameInSnakeCase='X_EXPIRES_AFTER', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, hasSanitizedName=true, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=date-time, dependentRequired=null, contains=null}]
From 78ceed85a6cf58ffce87bc148c2adbf187af13af Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Mon, 27 Apr 2026 23:09:16 +0200
Subject: [PATCH 3/9] update samples with worst-case-scenario swagger file
---
bin/configs/kotlin-misk-config.yaml | 2 +-
bin/configs/kotlin-misk.yaml | 2 +-
.../3_0/issue_10865_default_values.yaml | 10 +
.../test/resources/3_0/kotlin/echo_api.yaml | 39 +
.../3_0/kotlin/petstore-kotlin-misk.yaml | 766 ++++++++++++++++++
.../test/resources/3_0/kotlin/petstore.yaml | 11 +
.../.openapi-generator/FILES | 4 +
.../echo_api/kotlin-jvm-okhttp/README.md | 2 +
.../kotlin-jvm-okhttp/docs/EchoApi.md | 57 ++
.../docs/StringEscapingEdgeCases.md | 11 +
.../org/openapitools/client/apis/EchoApi.kt | 139 ++++
.../models/ApiStringEscapingEdgeCases.kt | 52 ++
.../openapitools/client/apis/EchoApiTest.kt | 46 ++
.../models/StringEscapingEdgeCasesTest.kt | 49 ++
.../.openapi-generator/FILES | 4 +
.../kotlin-jvm-spring-3-restclient/README.md | 2 +
.../docs/EchoApi.md | 57 ++
.../docs/StringEscapingEdgeCases.md | 11 +
.../org/openapitools/client/apis/EchoApi.kt | 87 ++
.../client/models/StringEscapingEdgeCases.kt | 52 ++
.../openapitools/client/apis/EchoApiTest.kt | 46 ++
.../models/StringEscapingEdgeCasesTest.kt | 49 ++
.../.openapi-generator/FILES | 4 +
.../kotlin-jvm-spring-3-webclient/README.md | 2 +
.../docs/EchoApi.md | 57 ++
.../docs/StringEscapingEdgeCases.md | 11 +
.../org/openapitools/client/apis/EchoApi.kt | 91 +++
.../client/models/StringEscapingEdgeCases.kt | 52 ++
.../openapitools/client/apis/EchoApiTest.kt | 46 ++
.../models/StringEscapingEdgeCasesTest.kt | 49 ++
.../.openapi-generator/FILES | 4 +
.../README.md | 2 +
.../docs/EchoApi.md | 50 ++
.../docs/StringEscapingEdgeCases.md | 11 +
.../org/openapitools/client/apis/EchoApi.kt | 25 +
.../models/ApiStringEscapingEdgeCases.kt | 51 ++
.../openapitools/client/apis/EchoApiTest.kt | 46 ++
.../models/StringEscapingEdgeCasesTest.kt | 49 ++
.../docs/Apa.md | 1 +
.../docs/DefaultApi.md | 6 +-
.../openapitools/client/apis/DefaultApi.kt | 16 +-
.../org/openapitools/client/models/Apa.kt | 7 +-
.../docs/Apa.md | 1 +
.../docs/DefaultApi.md | 4 +-
.../openapitools/client/apis/DefaultApi.kt | 3 +-
.../org/openapitools/client/models/Apa.kt | 7 +-
.../docs/Apa.md | 1 +
.../docs/DefaultApi.md | 6 +-
.../openapitools/client/apis/DefaultApi.kt | 4 +-
.../org/openapitools/client/models/Apa.kt | 6 +-
.../.openapi-generator/FILES | 2 +
.../petstore/kotlin-jvm-ktor-gson/README.md | 1 +
.../docs/PetWithSpecialProps.md | 11 +
.../client/models/PetWithSpecialProps.kt | 51 ++
.../client/models/PetWithSpecialPropsTest.kt | 49 ++
.../.openapi-generator/FILES | 2 +
.../README.md | 1 +
.../docs/PetWithSpecialProps.md | 11 +
.../client/infrastructure/ApiClient.kt | 2 +
.../client/infrastructure/Serializer.kt | 1 +
.../client/models/ApiPetWithSpecialProps.kt | 124 +++
.../client/models/PetWithSpecialPropsTest.kt | 49 ++
.../kotlin-wiremock/.openapi-generator/FILES | 3 +
.../openapitools/apis/EchoApiStubBuilders.kt | 63 ++
.../org/openapitools/apis/EchoApiStubs.kt | 35 +
.../models/StringEscapingEdgeCases.kt | 17 +
.../.openapi-generator/FILES | 2 +
.../petstore/kotlin-misk-config/README.md | 2 +
.../docs/EscapingEdgeCases.md | 11 +
.../kotlin-misk-config/docs/PetApi.md | 44 +
.../server/api/api/PetApiAction.kt | 11 +
.../server/api/model/EscapingEdgeCases.kt | 11 +
.../kotlin-misk/.openapi-generator/FILES | 2 +
samples/server/petstore/kotlin-misk/README.md | 2 +
.../kotlin-misk/docs/EscapingEdgeCases.md | 11 +
.../petstore/kotlin-misk/docs/PetApi.md | 44 +
.../server/api/api/PetApiAction.kt | 10 +
.../server/api/model/EscapingEdgeCases.kt | 11 +
.../.openapi-generator/FILES | 1 +
.../openapitools/model/PetWithSpecialProps.kt | 31 +
.../src/main/resources/openapi.yaml | 14 +
81 files changed, 2722 insertions(+), 17 deletions(-)
create mode 100644 modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/docs/StringEscapingEdgeCases.md
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/StringEscapingEdgeCases.md
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/StringEscapingEdgeCases.md
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
create mode 100644 samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/StringEscapingEdgeCases.md
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
create mode 100644 samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
create mode 100644 samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetWithSpecialProps.md
create mode 100644 samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/models/PetWithSpecialProps.kt
create mode 100644 samples/client/petstore/kotlin-jvm-ktor-gson/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
create mode 100644 samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetWithSpecialProps.md
create mode 100644 samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiPetWithSpecialProps.kt
create mode 100644 samples/client/petstore/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
create mode 100644 samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubBuilders.kt
create mode 100644 samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubs.kt
create mode 100644 samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/models/StringEscapingEdgeCases.kt
create mode 100644 samples/server/petstore/kotlin-misk-config/docs/EscapingEdgeCases.md
create mode 100644 samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
create mode 100644 samples/server/petstore/kotlin-misk/docs/EscapingEdgeCases.md
create mode 100644 samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
create mode 100644 samples/server/petstore/kotlin-spring-default/src/main/kotlin/org/openapitools/model/PetWithSpecialProps.kt
diff --git a/bin/configs/kotlin-misk-config.yaml b/bin/configs/kotlin-misk-config.yaml
index 70ecde187aa4..6c9442faf960 100644
--- a/bin/configs/kotlin-misk-config.yaml
+++ b/bin/configs/kotlin-misk-config.yaml
@@ -1,6 +1,6 @@
generatorName: kotlin-misk
outputDir: samples/server/petstore/kotlin-misk-config
-inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
+inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-misk
validateSpec: false
useBeanValidation: true
diff --git a/bin/configs/kotlin-misk.yaml b/bin/configs/kotlin-misk.yaml
index 5593aad0b7a7..684448fae443 100644
--- a/bin/configs/kotlin-misk.yaml
+++ b/bin/configs/kotlin-misk.yaml
@@ -1,6 +1,6 @@
generatorName: kotlin-misk
outputDir: samples/server/petstore/kotlin-misk
-inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
+inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-misk
additionalProperties:
hideGenerationTimestamp: "true"
diff --git a/modules/openapi-generator/src/test/resources/3_0/issue_10865_default_values.yaml b/modules/openapi-generator/src/test/resources/3_0/issue_10865_default_values.yaml
index c7fd7668cb4a..e43be3e1815c 100644
--- a/modules/openapi-generator/src/test/resources/3_0/issue_10865_default_values.yaml
+++ b/modules/openapi-generator/src/test/resources/3_0/issue_10865_default_values.yaml
@@ -154,6 +154,12 @@ paths:
default:
- item0
+ - name: qs0
+ in: query
+ required: false
+ type: string
+ default: "hello $world, backslash=\\, quote=\", end */"
+ description: "String with $dollar, backslash, quote, comment-close in default"
responses:
"200":
@@ -178,3 +184,7 @@ definitions:
n1:
type: number
default: 68
+ s0:
+ type: string
+ default: "hello $world, backslash=\\, quote=\", end */"
+ description: "String property with $dollar, backslash, quote, comment-close in default"
diff --git a/modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml b/modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml
index 940803b93b92..dbe0e43539e8 100644
--- a/modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml
+++ b/modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml
@@ -602,6 +602,34 @@ paths:
text/plain:
schema:
type: string
+ # To test string escaping edge cases in Kotlin (Issue 20502)
+ /echo/string-escaping/{$paramName}:
+ get:
+ tags:
+ - echo
+ summary: "Test $-in-path-param escaping"
+ description: "Tests that path params with $dollar, backslash \\ and quote \" are properly escaped"
+ operationId: "tests/echo/string-escaping/{$paramName}"
+ parameters:
+ - in: path
+ name: "$paramName"
+ required: true
+ schema:
+ type: string
+ - in: query
+ name: "filter$Type"
+ required: false
+ description: "Filter with $dollar in description and comment-close */"
+ schema:
+ type: string
+ default: "default$Value with \\ and \""
+ responses:
+ '200':
+ description: "ok"
+ content:
+ text/plain:
+ schema:
+ type: string
components:
securitySchemes:
http_auth:
@@ -810,3 +838,14 @@ components:
format: double
minimum: 0.8
maximum: 50.2
+ StringEscapingEdgeCases:
+ type: object
+ description: "Model to test: $dollar, backslash \\, quote \", comment-close */"
+ properties:
+ dollarDefault:
+ type: string
+ description: "A string whose default has $dollar, backslash \\, quote \" and comment-close */"
+ default: "hello $world, backslash=\\, quote=\", end */"
+ regularProp:
+ type: string
+ description: "Regular property for baseline comparison"
diff --git a/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml b/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml
new file mode 100644
index 000000000000..68a446b31aba
--- /dev/null
+++ b/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-kotlin-misk.yaml
@@ -0,0 +1,766 @@
+openapi: 3.0.0
+servers:
+ - url: 'http://petstore.swagger.io/v2'
+info:
+ description: >-
+ This is a sample server Petstore server. For this sample, you can use the api key
+ `special-key` to test the authorization filters.
+ version: 1.0.0
+ title: OpenAPI Petstore
+ license:
+ name: Apache-2.0
+ url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
+tags:
+ - name: pet
+ description: Everything about your Pets
+ - name: store
+ description: Access to Petstore orders
+ - name: user
+ description: Operations about user
+paths:
+ /pet:
+ post:
+ tags:
+ - pet
+ summary: Add a new pet to the store
+ description: ''
+ operationId: addPet
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ '405':
+ description: Invalid input
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ requestBody:
+ $ref: '#/components/requestBodies/Pet'
+ put:
+ tags:
+ - pet
+ summary: Update an existing pet
+ description: ''
+ operationId: updatePet
+ externalDocs:
+ url: "http://petstore.swagger.io/v2/doc/updatePet"
+ description: "API documentation for the updatePet operation"
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ '400':
+ description: Invalid ID supplied
+ '404':
+ description: Pet not found
+ '405':
+ description: Validation exception
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ requestBody:
+ $ref: '#/components/requestBodies/Pet'
+ /pet/findByStatus:
+ get:
+ tags:
+ - pet
+ summary: Finds Pets by status
+ description: Multiple status values can be provided with comma separated strings
+ operationId: findPetsByStatus
+ parameters:
+ - name: status
+ in: query
+ description: Status values that need to be considered for filter
+ required: true
+ style: form
+ explode: false
+ deprecated: true
+ schema:
+ type: array
+ items:
+ type: string
+ enum:
+ - available
+ - pending
+ - sold
+ default: available
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Pet'
+ '400':
+ description: Invalid status value
+ security:
+ - petstore_auth:
+ - 'read:pets'
+ /pet/findByTags:
+ get:
+ tags:
+ - pet
+ summary: Finds Pets by tags
+ description: >-
+ Multiple tags can be provided with comma separated strings. Use tag1,
+ tag2, tag3 for testing.
+ operationId: findPetsByTags
+ parameters:
+ - name: tags
+ in: query
+ description: Tags to filter by
+ required: true
+ style: form
+ explode: false
+ schema:
+ type: array
+ items:
+ type: string
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Pet'
+ '400':
+ description: Invalid tag value
+ security:
+ - petstore_auth:
+ - 'read:pets'
+ deprecated: true
+ '/pet/{petId}':
+ get:
+ tags:
+ - pet
+ summary: Find pet by ID
+ description: Returns a single pet
+ operationId: getPetById
+ parameters:
+ - name: petId
+ in: path
+ description: ID of pet to return
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ '400':
+ description: Invalid ID supplied
+ '404':
+ description: Pet not found
+ security:
+ - api_key: []
+ post:
+ tags:
+ - pet
+ summary: Updates a pet in the store with form data
+ description: ''
+ operationId: updatePetWithForm
+ parameters:
+ - name: petId
+ in: path
+ description: ID of pet that needs to be updated
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '405':
+ description: Invalid input
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ schema:
+ type: object
+ properties:
+ name:
+ description: Updated name of the pet
+ type: string
+ status:
+ description: Updated status of the pet
+ type: string
+ delete:
+ tags:
+ - pet
+ summary: Deletes a pet
+ description: ''
+ operationId: deletePet
+ parameters:
+ - name: api_key
+ in: header
+ required: false
+ schema:
+ type: string
+ - name: petId
+ in: path
+ description: Pet id to delete
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '400':
+ description: Invalid pet value
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ '/pet/{petId}/uploadImage':
+ post:
+ tags:
+ - pet
+ summary: uploads an image
+ description: ''
+ operationId: uploadFile
+ parameters:
+ - name: petId
+ in: path
+ description: ID of pet to update
+ required: true
+ schema:
+ type: integer
+ format: int64
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ApiResponse'
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ type: object
+ properties:
+ additionalMetadata:
+ description: Additional data to pass to server
+ type: string
+ file:
+ description: file to upload
+ type: string
+ format: binary
+ /pet/escaping:
+ get:
+ tags:
+ - pet
+ operationId: getEscapingEdgeCases
+ summary: "Test escaping: $dollar, backslash \\ and quote \""
+ description: "Retrieves edge-cases for escaping: $var, \\, \", */"
+ responses:
+ '200':
+ description: "Response with $dollar in message and backslash \\"
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/EscapingEdgeCases'
+ /store/inventory:
+ get:
+ tags:
+ - store
+ summary: Returns pet inventories by status
+ description: Returns a map of status codes to quantities
+ operationId: getInventory
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/json:
+ schema:
+ type: object
+ additionalProperties:
+ type: integer
+ format: int32
+ security:
+ - api_key: []
+ /store/order:
+ post:
+ tags:
+ - store
+ summary: Place an order for a pet
+ description: ''
+ operationId: placeOrder
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Order'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Order'
+ '400':
+ description: Invalid Order
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Order'
+ description: order placed for purchasing the pet
+ required: true
+ '/store/order/{orderId}':
+ get:
+ tags:
+ - store
+ summary: Find purchase order by ID
+ description: >-
+ For valid response try integer IDs with value <= 5 or > 10. Other values
+ will generate exceptions
+ operationId: getOrderById
+ parameters:
+ - name: orderId
+ in: path
+ description: ID of pet that needs to be fetched
+ required: true
+ schema:
+ type: integer
+ format: int64
+ minimum: 1
+ maximum: 5
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Order'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Order'
+ '400':
+ description: Invalid ID supplied
+ '404':
+ description: Order not found
+ delete:
+ tags:
+ - store
+ summary: Delete purchase order by ID
+ description: >-
+ For valid response try integer IDs with value < 1000. Anything above
+ 1000 or nonintegers will generate API errors
+ operationId: deleteOrder
+ parameters:
+ - name: orderId
+ in: path
+ description: ID of the order that needs to be deleted
+ required: true
+ schema:
+ type: string
+ responses:
+ '400':
+ description: Invalid ID supplied
+ '404':
+ description: Order not found
+ /user:
+ post:
+ tags:
+ - user
+ summary: Create user
+ description: This can only be done by the logged in user.
+ operationId: createUser
+ responses:
+ default:
+ description: successful operation
+ security:
+ - api_key: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ description: Created user object
+ required: true
+ /user/createWithArray:
+ post:
+ tags:
+ - user
+ summary: Creates list of users with given input array
+ description: ''
+ operationId: createUsersWithArrayInput
+ responses:
+ default:
+ description: successful operation
+ security:
+ - api_key: []
+ requestBody:
+ $ref: '#/components/requestBodies/UserArray'
+ /user/createWithList:
+ post:
+ tags:
+ - user
+ summary: Creates list of users with given input array
+ description: ''
+ operationId: createUsersWithListInput
+ responses:
+ default:
+ description: successful operation
+ security:
+ - api_key: []
+ requestBody:
+ $ref: '#/components/requestBodies/UserArray'
+ /user/login:
+ get:
+ tags:
+ - user
+ summary: Logs user into the system
+ description: ''
+ operationId: loginUser
+ parameters:
+ - name: username
+ in: query
+ description: The user name for login
+ required: true
+ schema:
+ type: string
+ pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$'
+ - name: password
+ in: query
+ description: The password for login in clear text
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: successful operation
+ headers:
+ Set-Cookie:
+ description: >-
+ Cookie authentication key for use with the `api_key`
+ apiKey authentication.
+ schema:
+ type: string
+ example: AUTH_KEY=abcde12345; Path=/; HttpOnly
+ X-Rate-Limit:
+ description: calls per hour allowed by the user
+ schema:
+ type: integer
+ format: int32
+ X-Expires-After:
+ description: date in UTC when token expires
+ schema:
+ type: string
+ format: date-time
+ content:
+ application/xml:
+ schema:
+ type: string
+ application/json:
+ schema:
+ type: string
+ '400':
+ description: Invalid username/password supplied
+ /user/logout:
+ get:
+ tags:
+ - user
+ summary: Logs out current logged in user session
+ description: ''
+ operationId: logoutUser
+ responses:
+ default:
+ description: successful operation
+ security:
+ - api_key: []
+ '/user/{username}':
+ get:
+ tags:
+ - user
+ summary: Get user by user name
+ description: ''
+ operationId: getUserByName
+ parameters:
+ - name: username
+ in: path
+ description: The name that needs to be fetched. Use user1 for testing.
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ description: successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/User'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '400':
+ description: Invalid username supplied
+ '404':
+ description: User not found
+ put:
+ tags:
+ - user
+ summary: Updated user
+ description: This can only be done by the logged in user.
+ operationId: updateUser
+ parameters:
+ - name: username
+ in: path
+ description: name that need to be deleted
+ required: true
+ schema:
+ type: string
+ responses:
+ '400':
+ description: Invalid user supplied
+ '404':
+ description: User not found
+ security:
+ - api_key: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ description: Updated user object
+ required: true
+ delete:
+ tags:
+ - user
+ summary: Delete user
+ description: This can only be done by the logged in user.
+ operationId: deleteUser
+ parameters:
+ - name: username
+ in: path
+ description: The name that needs to be deleted
+ required: true
+ schema:
+ type: string
+ responses:
+ '400':
+ description: Invalid username supplied
+ '404':
+ description: User not found
+ security:
+ - api_key: []
+externalDocs:
+ description: Find out more about Swagger
+ url: 'http://swagger.io'
+components:
+ requestBodies:
+ UserArray:
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/User'
+ description: List of user object
+ required: true
+ Pet:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ description: Pet object that needs to be added to the store
+ required: true
+ securitySchemes:
+ petstore_auth:
+ type: oauth2
+ flows:
+ implicit:
+ authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog'
+ scopes:
+ 'write:pets': modify pets in your account
+ 'read:pets': read your pets
+ api_key:
+ type: apiKey
+ name: api_key
+ in: header
+ schemas:
+ Order:
+ title: Pet Order
+ description: An order for a pets from the pet store
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+ petId:
+ type: integer
+ format: int64
+ quantity:
+ type: integer
+ format: int32
+ shipDate:
+ type: string
+ format: date-time
+ status:
+ type: string
+ description: Order Status
+ enum:
+ - placed
+ - approved
+ - delivered
+ complete:
+ type: boolean
+ default: false
+ xml:
+ name: Order
+ Category:
+ title: Pet category
+ description: A category for a pet
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+ name:
+ type: string
+ pattern: '^[a-zA-Z0-9]+[a-zA-Z0-9\.\-_]*[a-zA-Z0-9]+$'
+ xml:
+ name: Category
+ User:
+ title: a User
+ description: A User who is purchasing from the pet store
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+ username:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ email:
+ type: string
+ password:
+ type: string
+ phone:
+ type: string
+ userStatus:
+ type: integer
+ format: int32
+ description: User Status
+ xml:
+ name: User
+ Tag:
+ title: Pet Tag
+ description: A tag for a pet
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int64
+ name:
+ type: string
+ xml:
+ name: Tag
+ Pet:
+ title: a Pet
+ description: A pet for sale in the pet store
+ type: object
+ required:
+ - name
+ - photoUrls
+ properties:
+ id:
+ type: integer
+ format: int64
+ category:
+ $ref: '#/components/schemas/Category'
+ name:
+ type: string
+ example: doggie
+ photoUrls:
+ type: array
+ xml:
+ name: photoUrl
+ wrapped: true
+ items:
+ type: string
+ tags:
+ type: array
+ xml:
+ name: tag
+ wrapped: true
+ items:
+ $ref: '#/components/schemas/Tag'
+ status:
+ type: string
+ description: pet status in the store
+ deprecated: true
+ enum:
+ - available
+ - pending
+ - sold
+ xml:
+ name: Pet
+ ApiResponse:
+ title: An uploaded response
+ description: Describes the result of uploading an image resource
+ type: object
+ properties:
+ code:
+ type: integer
+ format: int32
+ type:
+ type: string
+ message:
+ type: string
+ EscapingEdgeCases:
+ type: object
+ description: "Schema to test: $dollar, backslash \\, quote \", comment-close */"
+ properties:
+ dollarDefault:
+ type: string
+ description: "A string whose default has $dollar, backslash \\, quote \" and comment-close */"
+ default: "hello $world, backslash=\\, quote=\", end */"
+ regularProp:
+ type: string
+ description: "Regular property for baseline comparison"
\ No newline at end of file
diff --git a/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore.yaml
index a3800e235c08..0fefaba8954b 100644
--- a/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore.yaml
+++ b/modules/openapi-generator/src/test/resources/3_0/kotlin/petstore.yaml
@@ -822,3 +822,14 @@ components:
- type: array
items:
type: string
+ PetWithSpecialProps:
+ type: object
+ description: "Model with $-prefixed property names for escaping tests (Issue 20502)"
+ properties:
+ $id:
+ type: string
+ description: "Property with $-prefix in name; default has $dollar and backslash \\"
+ default: "hello $world"
+ name$Suffix:
+ type: string
+ description: "Property with $ mid-name; description has backslash \\ and quote \""
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/.openapi-generator/FILES b/samples/client/echo_api/kotlin-jvm-okhttp/.openapi-generator/FILES
index f94d2fba7db1..4280f869c94e 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/.openapi-generator/FILES
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/.openapi-generator/FILES
@@ -5,6 +5,7 @@ docs/Bird.md
docs/BodyApi.md
docs/Category.md
docs/DefaultValue.md
+docs/EchoApi.md
docs/FormApi.md
docs/HeaderApi.md
docs/NumberPropertiesOnly.md
@@ -13,6 +14,7 @@ docs/Pet.md
docs/Query.md
docs/QueryApi.md
docs/StringEnumRef.md
+docs/StringEscapingEdgeCases.md
docs/Tag.md
docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md
gradle/wrapper/gradle-wrapper.jar
@@ -22,6 +24,7 @@ gradlew.bat
settings.gradle
src/main/kotlin/org/openapitools/client/apis/AuthApi.kt
src/main/kotlin/org/openapitools/client/apis/BodyApi.kt
+src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
src/main/kotlin/org/openapitools/client/apis/FormApi.kt
src/main/kotlin/org/openapitools/client/apis/HeaderApi.kt
src/main/kotlin/org/openapitools/client/apis/PathApi.kt
@@ -50,5 +53,6 @@ src/main/kotlin/org/openapitools/client/models/ApiNumberPropertiesOnly.kt
src/main/kotlin/org/openapitools/client/models/ApiPet.kt
src/main/kotlin/org/openapitools/client/models/ApiQuery.kt
src/main/kotlin/org/openapitools/client/models/ApiStringEnumRef.kt
+src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
src/main/kotlin/org/openapitools/client/models/ApiTag.kt
src/main/kotlin/org/openapitools/client/models/ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.kt
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/README.md b/samples/client/echo_api/kotlin-jvm-okhttp/README.md
index 120fbfc20d02..f8ba319319cf 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/README.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/README.md
@@ -55,6 +55,7 @@ All URIs are relative to *http://localhost:3000*
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
+| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** /echo/string-escaping/{$paramName} | Test $-in-path-param escaping |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
@@ -77,6 +78,7 @@ All URIs are relative to *http://localhost:3000*
- [org.openapitools.client.models.ApiPet](docs/ApiPet.md)
- [org.openapitools.client.models.ApiQuery](docs/ApiQuery.md)
- [org.openapitools.client.models.ApiStringEnumRef](docs/ApiStringEnumRef.md)
+ - [org.openapitools.client.models.ApiStringEscapingEdgeCases](docs/ApiStringEscapingEdgeCases.md)
- [org.openapitools.client.models.ApiTag](docs/ApiTag.md)
- [org.openapitools.client.models.ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md)
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
new file mode 100644
index 000000000000..9e1e3f20d7a9
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
@@ -0,0 +1,57 @@
+# EchoApi
+
+All URIs are relative to *http://localhost:3000*
+
+| Method | HTTP request | Description |
+| ------------- | ------------- | ------------- |
+| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** /echo/string-escaping/{$paramName} | Test \$-in-path-param escaping |
+
+
+
+# **testsEchoStringEscapingParamName**
+> kotlin.String testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+
+Test \$-in-path-param escaping
+
+Tests that path params with \$dollar, backslash \\ and quote " are properly escaped
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.client.infrastructure.*
+//import org.openapitools.client.models.*
+
+val apiInstance = EchoApi()
+val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close */
+try {
+ val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ println(result)
+} catch (e: ClientException) {
+ println("4xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+} catch (e: ServerException) {
+ println("5xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+}
+```
+
+### Parameters
+| **dollarParamName** | **kotlin.String**| | |
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
+
+### Return type
+
+**kotlin.String**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: text/plain
+
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/StringEscapingEdgeCases.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/StringEscapingEdgeCases.md
new file mode 100644
index 000000000000..e49f8e50da00
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/StringEscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# ApiStringEscapingEdgeCases
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional] |
+| **regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional] |
+
+
+
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
new file mode 100644
index 000000000000..5058e0f5ca7f
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
@@ -0,0 +1,139 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import java.io.IOException
+import okhttp3.Call
+import okhttp3.HttpUrl
+
+
+import com.squareup.moshi.Json
+
+import org.openapitools.client.infrastructure.ApiClient
+import org.openapitools.client.infrastructure.ApiResponse
+import org.openapitools.client.infrastructure.ClientException
+import org.openapitools.client.infrastructure.ClientError
+import org.openapitools.client.infrastructure.ServerException
+import org.openapitools.client.infrastructure.ServerError
+import org.openapitools.client.infrastructure.MultiValueMap
+import org.openapitools.client.infrastructure.PartConfig
+import org.openapitools.client.infrastructure.RequestConfig
+import org.openapitools.client.infrastructure.RequestMethod
+import org.openapitools.client.infrastructure.ResponseType
+import org.openapitools.client.infrastructure.Success
+import org.openapitools.client.infrastructure.toMultiValue
+
+open class EchoApi(basePath: kotlin.String = defaultBasePath, client: Call.Factory = ApiClient.defaultClient) : ApiClient(basePath, client) {
+ companion object {
+ @JvmStatic
+ val defaultBasePath: String by lazy {
+ System.getProperties().getProperty(ApiClient.BASE_URL_KEY, "http://localhost:3000")
+ }
+ }
+
+ /**
+ * GET /echo/string-escaping/{$paramName}
+ * Test $-in-path-param escaping
+ * Tests that path params with $dollar, backslash \\ and quote \" are properly escaped
+ * @param dollarParamName
+ * @param filterDollarType Filter with $dollar in description and comment-close *_/ (optional, default to "default$Value with \\ and \"")
+ * @return kotlin.String
+ * @throws IllegalStateException If the request is not correctly configured
+ * @throws IOException Rethrows the OkHttp execute method exception
+ * @throws UnsupportedOperationException If the API returns an informational or redirection response
+ * @throws ClientException If the API returns a client error response
+ * @throws ServerException If the API returns a server error response
+ */
+ @Suppress("UNCHECKED_CAST")
+ @Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class)
+ fun testsEchoStringEscapingParamName(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \"") : kotlin.String {
+ val localVarResponse = testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+
+ return when (localVarResponse.responseType) {
+ ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
+ ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
+ ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
+ ResponseType.ClientError -> {
+ val localVarError = localVarResponse as ClientError<*>
+ throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
+ }
+ ResponseType.ServerError -> {
+ val localVarError = localVarResponse as ServerError<*>
+ throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()} ${localVarError.body}", localVarError.statusCode, localVarResponse)
+ }
+ }
+ }
+
+ /**
+ * GET /echo/string-escaping/{$paramName}
+ * Test $-in-path-param escaping
+ * Tests that path params with $dollar, backslash \\ and quote \" are properly escaped
+ * @param dollarParamName
+ * @param filterDollarType Filter with $dollar in description and comment-close *_/ (optional, default to "default$Value with \\ and \"")
+ * @return ApiResponse
+ * @throws IllegalStateException If the request is not correctly configured
+ * @throws IOException Rethrows the OkHttp execute method exception
+ */
+ @Suppress("UNCHECKED_CAST")
+ @Throws(IllegalStateException::class, IOException::class)
+ fun testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName: kotlin.String, filterDollarType: kotlin.String?) : ApiResponse {
+ val localVariableConfig = testsEchoStringEscapingParamNameRequestConfig(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+
+ return request(
+ localVariableConfig
+ )
+ }
+
+ /**
+ * To obtain the request config of the operation testsEchoStringEscapingParamName
+ *
+ * @param dollarParamName
+ * @param filterDollarType Filter with $dollar in description and comment-close *_/ (optional, default to "default$Value with \\ and \"")
+ * @return RequestConfig
+ */
+ fun testsEchoStringEscapingParamNameRequestConfig(dollarParamName: kotlin.String, filterDollarType: kotlin.String?) : RequestConfig {
+ val localVariableBody = null
+ val localVariableQuery: MultiValueMap = mutableMapOf>()
+ .apply {
+ if (filterDollarType != null) {
+ put("filter\$Type", listOf(filterDollarType.toString()))
+ }
+ }
+ val localVariableHeaders: MutableMap = mutableMapOf()
+ localVariableHeaders["Accept"] = "text/plain"
+
+ return RequestConfig(
+ method = RequestMethod.GET,
+ path = "/echo/string-escaping/{\$paramName}".replace("{"+"\$paramName"+"}", encodeURIComponent(dollarParamName.toString())),
+ query = localVariableQuery,
+ headers = localVariableHeaders,
+ requiresAuthentication = false,
+ body = localVariableBody
+ )
+ }
+
+
+ private fun encodeURIComponent(uriComponent: kotlin.String): kotlin.String =
+ HttpUrl.Builder().scheme("http").host("localhost").addPathSegment(uriComponent).build().encodedPathSegments[0]
+}
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
new file mode 100644
index 000000000000..5709b8170d2a
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
@@ -0,0 +1,52 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.squareup.moshi.Json
+import com.squareup.moshi.JsonClass
+
+/**
+ * Model to test: $dollar, backslash \\, quote \", comment-close *_/
+ *
+ * @param dollarDefault A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ * @param regularProp Regular property for baseline comparison
+ */
+
+
+data class ApiStringEscapingEdgeCases (
+
+ /* A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ @Json(name = "dollarDefault")
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+
+ /* Regular property for baseline comparison */
+ @Json(name = "regularProp")
+ val regularProp: kotlin.String? = null
+
+) {
+
+
+}
+
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt b/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
new file mode 100644
index 000000000000..f0f08d55a94b
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
@@ -0,0 +1,46 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.apis.EchoApi
+
+class EchoApiTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of EchoApi
+ //val apiInstance = EchoApi()
+
+ // to test testsEchoStringEscapingParamName
+ should("test testsEchoStringEscapingParamName") {
+ // uncomment below to test testsEchoStringEscapingParamName
+ //val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+ //val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close *_/
+ //val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ //result shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt b/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
new file mode 100644
index 000000000000..6cfaf10ce897
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.ApiStringEscapingEdgeCases
+
+class ApiStringEscapingEdgeCasesTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of ApiStringEscapingEdgeCases
+ //val modelInstance = ApiStringEscapingEdgeCases()
+
+ // to test the property `dollarDefault` - A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ should("test dollarDefault") {
+ // uncomment below to test the property
+ //modelInstance.dollarDefault shouldBe ("TODO")
+ }
+
+ // to test the property `regularProp` - Regular property for baseline comparison
+ should("test regularProp") {
+ // uncomment below to test the property
+ //modelInstance.regularProp shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/.openapi-generator/FILES b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/.openapi-generator/FILES
index 4d6a5844ccea..6df32f7ebb42 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/.openapi-generator/FILES
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/.openapi-generator/FILES
@@ -5,6 +5,7 @@ docs/Bird.md
docs/BodyApi.md
docs/Category.md
docs/DefaultValue.md
+docs/EchoApi.md
docs/FormApi.md
docs/HeaderApi.md
docs/NumberPropertiesOnly.md
@@ -13,6 +14,7 @@ docs/Pet.md
docs/Query.md
docs/QueryApi.md
docs/StringEnumRef.md
+docs/StringEscapingEdgeCases.md
docs/Tag.md
docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md
gradle/wrapper/gradle-wrapper.jar
@@ -22,6 +24,7 @@ gradlew.bat
settings.gradle
src/main/kotlin/org/openapitools/client/apis/AuthApi.kt
src/main/kotlin/org/openapitools/client/apis/BodyApi.kt
+src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
src/main/kotlin/org/openapitools/client/apis/FormApi.kt
src/main/kotlin/org/openapitools/client/apis/HeaderApi.kt
src/main/kotlin/org/openapitools/client/apis/PathApi.kt
@@ -39,5 +42,6 @@ src/main/kotlin/org/openapitools/client/models/NumberPropertiesOnly.kt
src/main/kotlin/org/openapitools/client/models/Pet.kt
src/main/kotlin/org/openapitools/client/models/Query.kt
src/main/kotlin/org/openapitools/client/models/StringEnumRef.kt
+src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
src/main/kotlin/org/openapitools/client/models/Tag.kt
src/main/kotlin/org/openapitools/client/models/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.kt
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/README.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/README.md
index dbe1ebbb396e..3ce32e0b880e 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/README.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/README.md
@@ -55,6 +55,7 @@ All URIs are relative to *http://localhost:3000*
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
+| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** /echo/string-escaping/{$paramName} | Test $-in-path-param escaping |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
@@ -77,6 +78,7 @@ All URIs are relative to *http://localhost:3000*
- [org.openapitools.client.models.Pet](docs/Pet.md)
- [org.openapitools.client.models.Query](docs/Query.md)
- [org.openapitools.client.models.StringEnumRef](docs/StringEnumRef.md)
+ - [org.openapitools.client.models.StringEscapingEdgeCases](docs/StringEscapingEdgeCases.md)
- [org.openapitools.client.models.Tag](docs/Tag.md)
- [org.openapitools.client.models.TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md)
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
new file mode 100644
index 000000000000..9e1e3f20d7a9
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
@@ -0,0 +1,57 @@
+# EchoApi
+
+All URIs are relative to *http://localhost:3000*
+
+| Method | HTTP request | Description |
+| ------------- | ------------- | ------------- |
+| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** /echo/string-escaping/{$paramName} | Test \$-in-path-param escaping |
+
+
+
+# **testsEchoStringEscapingParamName**
+> kotlin.String testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+
+Test \$-in-path-param escaping
+
+Tests that path params with \$dollar, backslash \\ and quote " are properly escaped
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.client.infrastructure.*
+//import org.openapitools.client.models.*
+
+val apiInstance = EchoApi()
+val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close */
+try {
+ val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ println(result)
+} catch (e: ClientException) {
+ println("4xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+} catch (e: ServerException) {
+ println("5xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+}
+```
+
+### Parameters
+| **dollarParamName** | **kotlin.String**| | |
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
+
+### Return type
+
+**kotlin.String**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: text/plain
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/StringEscapingEdgeCases.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/StringEscapingEdgeCases.md
new file mode 100644
index 000000000000..b65c95da692d
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/StringEscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# StringEscapingEdgeCases
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional] |
+| **regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional] |
+
+
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
new file mode 100644
index 000000000000..0cb8df76916d
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
@@ -0,0 +1,87 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import com.fasterxml.jackson.annotation.JsonProperty
+
+import org.springframework.web.client.RestClient
+import org.springframework.web.client.RestClientResponseException
+
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
+import org.springframework.http.ResponseEntity
+import org.springframework.http.MediaType
+
+
+import org.openapitools.client.infrastructure.*
+
+open class EchoApi(client: RestClient) : ApiClient(client) {
+
+ constructor(baseUrl: String) : this(RestClient.builder()
+ .baseUrl(baseUrl)
+ .messageConverters { it.add(MappingJackson2HttpMessageConverter()) }
+ .build()
+ )
+
+
+ @Throws(RestClientResponseException::class)
+ fun testsEchoStringEscapingParamName(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \""): kotlin.String {
+ val result = testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+ return result.body!!
+ }
+
+ @Throws(RestClientResponseException::class)
+ fun testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \""): ResponseEntity {
+ val localVariableConfig = testsEchoStringEscapingParamNameRequestConfig(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+ return request(
+ localVariableConfig
+ )
+ }
+
+ fun testsEchoStringEscapingParamNameRequestConfig(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \"") : RequestConfig {
+ val localVariableBody = null
+ val localVariableQuery = mutableMapOf>()
+ .apply {
+ if (filterDollarType != null) {
+ put("filter\$Type", listOf(filterDollarType.toString()))
+ }
+ }
+ val localVariableHeaders: MutableMap = mutableMapOf()
+ localVariableHeaders["Accept"] = "text/plain"
+
+ val params = mutableMapOf(
+ "\$paramName" to dollarParamName,
+ )
+
+ return RequestConfig(
+ method = RequestMethod.GET,
+ path = "/echo/string-escaping/{\$paramName}",
+ params = params,
+ query = localVariableQuery,
+ headers = localVariableHeaders,
+ requiresAuthentication = false,
+ body = localVariableBody
+ )
+ }
+
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
new file mode 100644
index 000000000000..05ee371d5913
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
@@ -0,0 +1,52 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.fasterxml.jackson.annotation.JsonEnumDefaultValue
+import com.fasterxml.jackson.annotation.JsonProperty
+
+/**
+ * Model to test: $dollar, backslash \\, quote \", comment-close *_/
+ *
+ * @param dollarDefault A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ * @param regularProp Regular property for baseline comparison
+ */
+
+
+data class StringEscapingEdgeCases (
+
+ /* A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ @get:JsonProperty("dollarDefault")
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+
+ /* Regular property for baseline comparison */
+ @get:JsonProperty("regularProp")
+ val regularProp: kotlin.String? = null
+
+) {
+
+
+}
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
new file mode 100644
index 000000000000..f0f08d55a94b
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
@@ -0,0 +1,46 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.apis.EchoApi
+
+class EchoApiTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of EchoApi
+ //val apiInstance = EchoApi()
+
+ // to test testsEchoStringEscapingParamName
+ should("test testsEchoStringEscapingParamName") {
+ // uncomment below to test testsEchoStringEscapingParamName
+ //val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+ //val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close *_/
+ //val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ //result shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
new file mode 100644
index 000000000000..40a3db7282e1
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.StringEscapingEdgeCases
+
+class StringEscapingEdgeCasesTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of StringEscapingEdgeCases
+ //val modelInstance = StringEscapingEdgeCases()
+
+ // to test the property `dollarDefault` - A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ should("test dollarDefault") {
+ // uncomment below to test the property
+ //modelInstance.dollarDefault shouldBe ("TODO")
+ }
+
+ // to test the property `regularProp` - Regular property for baseline comparison
+ should("test regularProp") {
+ // uncomment below to test the property
+ //modelInstance.regularProp shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/.openapi-generator/FILES b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/.openapi-generator/FILES
index 4d6a5844ccea..6df32f7ebb42 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/.openapi-generator/FILES
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/.openapi-generator/FILES
@@ -5,6 +5,7 @@ docs/Bird.md
docs/BodyApi.md
docs/Category.md
docs/DefaultValue.md
+docs/EchoApi.md
docs/FormApi.md
docs/HeaderApi.md
docs/NumberPropertiesOnly.md
@@ -13,6 +14,7 @@ docs/Pet.md
docs/Query.md
docs/QueryApi.md
docs/StringEnumRef.md
+docs/StringEscapingEdgeCases.md
docs/Tag.md
docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md
gradle/wrapper/gradle-wrapper.jar
@@ -22,6 +24,7 @@ gradlew.bat
settings.gradle
src/main/kotlin/org/openapitools/client/apis/AuthApi.kt
src/main/kotlin/org/openapitools/client/apis/BodyApi.kt
+src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
src/main/kotlin/org/openapitools/client/apis/FormApi.kt
src/main/kotlin/org/openapitools/client/apis/HeaderApi.kt
src/main/kotlin/org/openapitools/client/apis/PathApi.kt
@@ -39,5 +42,6 @@ src/main/kotlin/org/openapitools/client/models/NumberPropertiesOnly.kt
src/main/kotlin/org/openapitools/client/models/Pet.kt
src/main/kotlin/org/openapitools/client/models/Query.kt
src/main/kotlin/org/openapitools/client/models/StringEnumRef.kt
+src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
src/main/kotlin/org/openapitools/client/models/Tag.kt
src/main/kotlin/org/openapitools/client/models/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.kt
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/README.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/README.md
index dbe1ebbb396e..3ce32e0b880e 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/README.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/README.md
@@ -55,6 +55,7 @@ All URIs are relative to *http://localhost:3000*
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
+| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** /echo/string-escaping/{$paramName} | Test $-in-path-param escaping |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
@@ -77,6 +78,7 @@ All URIs are relative to *http://localhost:3000*
- [org.openapitools.client.models.Pet](docs/Pet.md)
- [org.openapitools.client.models.Query](docs/Query.md)
- [org.openapitools.client.models.StringEnumRef](docs/StringEnumRef.md)
+ - [org.openapitools.client.models.StringEscapingEdgeCases](docs/StringEscapingEdgeCases.md)
- [org.openapitools.client.models.Tag](docs/Tag.md)
- [org.openapitools.client.models.TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md)
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
new file mode 100644
index 000000000000..9e1e3f20d7a9
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
@@ -0,0 +1,57 @@
+# EchoApi
+
+All URIs are relative to *http://localhost:3000*
+
+| Method | HTTP request | Description |
+| ------------- | ------------- | ------------- |
+| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** /echo/string-escaping/{$paramName} | Test \$-in-path-param escaping |
+
+
+
+# **testsEchoStringEscapingParamName**
+> kotlin.String testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+
+Test \$-in-path-param escaping
+
+Tests that path params with \$dollar, backslash \\ and quote " are properly escaped
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.client.infrastructure.*
+//import org.openapitools.client.models.*
+
+val apiInstance = EchoApi()
+val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close */
+try {
+ val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ println(result)
+} catch (e: ClientException) {
+ println("4xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+} catch (e: ServerException) {
+ println("5xx response calling EchoApi#testsEchoStringEscapingParamName")
+ e.printStackTrace()
+}
+```
+
+### Parameters
+| **dollarParamName** | **kotlin.String**| | |
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
+
+### Return type
+
+**kotlin.String**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: text/plain
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/StringEscapingEdgeCases.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/StringEscapingEdgeCases.md
new file mode 100644
index 000000000000..b65c95da692d
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/StringEscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# StringEscapingEdgeCases
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional] |
+| **regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional] |
+
+
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
new file mode 100644
index 000000000000..18ef83e11f13
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
@@ -0,0 +1,91 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import com.fasterxml.jackson.annotation.JsonProperty
+
+import org.springframework.web.reactive.function.client.WebClient
+import org.springframework.web.reactive.function.client.WebClientResponseException
+import org.springframework.http.codec.json.Jackson2JsonDecoder
+import org.springframework.http.codec.json.Jackson2JsonEncoder
+import org.springframework.http.ResponseEntity
+import org.springframework.http.MediaType
+import reactor.core.publisher.Mono
+import org.springframework.util.LinkedMultiValueMap
+
+import org.openapitools.client.infrastructure.*
+
+open class EchoApi(client: WebClient) : ApiClient(client) {
+
+ constructor(baseUrl: String) : this(WebClient.builder()
+ .baseUrl(baseUrl)
+ .codecs {
+ it.defaultCodecs().jackson2JsonEncoder(Jackson2JsonEncoder(Serializer.jacksonObjectMapper, MediaType.APPLICATION_JSON))
+ it.defaultCodecs().jackson2JsonDecoder(Jackson2JsonDecoder(Serializer.jacksonObjectMapper, MediaType.APPLICATION_JSON))
+ }
+ .build()
+ )
+
+
+ @Throws(WebClientResponseException::class)
+ fun testsEchoStringEscapingParamName(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \""): Mono {
+ return testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+ .map { it.body!! }
+ }
+
+ @Throws(WebClientResponseException::class)
+ fun testsEchoStringEscapingParamNameWithHttpInfo(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \""): Mono> {
+ val localVariableConfig = testsEchoStringEscapingParamNameRequestConfig(dollarParamName = dollarParamName, filterDollarType = filterDollarType)
+ return request(
+ localVariableConfig
+ )
+ }
+
+ fun testsEchoStringEscapingParamNameRequestConfig(dollarParamName: kotlin.String, filterDollarType: kotlin.String? = "default\$Value with \\ and \"") : RequestConfig {
+ val localVariableBody = null
+ val localVariableQuery = mutableMapOf>()
+ .apply {
+ if (filterDollarType != null) {
+ put("filter\$Type", listOf(filterDollarType.toString()))
+ }
+ }
+ val localVariableHeaders: MutableMap = mutableMapOf()
+ localVariableHeaders["Accept"] = "text/plain"
+
+ val params = mutableMapOf(
+ "\$paramName" to dollarParamName,
+ )
+
+ return RequestConfig(
+ method = RequestMethod.GET,
+ path = "/echo/string-escaping/{\$paramName}",
+ params = params,
+ query = localVariableQuery,
+ headers = localVariableHeaders,
+ requiresAuthentication = false,
+ body = localVariableBody
+ )
+ }
+
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
new file mode 100644
index 000000000000..05ee371d5913
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/main/kotlin/org/openapitools/client/models/StringEscapingEdgeCases.kt
@@ -0,0 +1,52 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.fasterxml.jackson.annotation.JsonEnumDefaultValue
+import com.fasterxml.jackson.annotation.JsonProperty
+
+/**
+ * Model to test: $dollar, backslash \\, quote \", comment-close *_/
+ *
+ * @param dollarDefault A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ * @param regularProp Regular property for baseline comparison
+ */
+
+
+data class StringEscapingEdgeCases (
+
+ /* A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ @get:JsonProperty("dollarDefault")
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+
+ /* Regular property for baseline comparison */
+ @get:JsonProperty("regularProp")
+ val regularProp: kotlin.String? = null
+
+) {
+
+
+}
+
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
new file mode 100644
index 000000000000..f0f08d55a94b
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
@@ -0,0 +1,46 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.apis.EchoApi
+
+class EchoApiTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of EchoApi
+ //val apiInstance = EchoApi()
+
+ // to test testsEchoStringEscapingParamName
+ should("test testsEchoStringEscapingParamName") {
+ // uncomment below to test testsEchoStringEscapingParamName
+ //val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+ //val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close *_/
+ //val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ //result shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
new file mode 100644
index 000000000000..40a3db7282e1
--- /dev/null
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.StringEscapingEdgeCases
+
+class StringEscapingEdgeCasesTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of StringEscapingEdgeCases
+ //val modelInstance = StringEscapingEdgeCases()
+
+ // to test the property `dollarDefault` - A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ should("test dollarDefault") {
+ // uncomment below to test the property
+ //modelInstance.dollarDefault shouldBe ("TODO")
+ }
+
+ // to test the property `regularProp` - Regular property for baseline comparison
+ should("test regularProp") {
+ // uncomment below to test the property
+ //modelInstance.regularProp shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/.openapi-generator/FILES b/samples/client/echo_api/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
index f0ac80519da4..145e6840cf19 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
@@ -5,6 +5,7 @@ docs/Bird.md
docs/BodyApi.md
docs/Category.md
docs/DefaultValue.md
+docs/EchoApi.md
docs/FormApi.md
docs/HeaderApi.md
docs/NumberPropertiesOnly.md
@@ -13,6 +14,7 @@ docs/Pet.md
docs/Query.md
docs/QueryApi.md
docs/StringEnumRef.md
+docs/StringEscapingEdgeCases.md
docs/Tag.md
docs/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md
gradle/wrapper/gradle-wrapper.jar
@@ -22,6 +24,7 @@ gradlew.bat
settings.gradle
src/main/kotlin/org/openapitools/client/apis/AuthApi.kt
src/main/kotlin/org/openapitools/client/apis/BodyApi.kt
+src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
src/main/kotlin/org/openapitools/client/apis/FormApi.kt
src/main/kotlin/org/openapitools/client/apis/HeaderApi.kt
src/main/kotlin/org/openapitools/client/apis/PathApi.kt
@@ -43,5 +46,6 @@ src/main/kotlin/org/openapitools/client/models/ApiNumberPropertiesOnly.kt
src/main/kotlin/org/openapitools/client/models/ApiPet.kt
src/main/kotlin/org/openapitools/client/models/ApiQuery.kt
src/main/kotlin/org/openapitools/client/models/ApiStringEnumRef.kt
+src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
src/main/kotlin/org/openapitools/client/models/ApiTag.kt
src/main/kotlin/org/openapitools/client/models/ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.kt
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
index 47700630a98e..f6397b984546 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
@@ -55,6 +55,7 @@ All URIs are relative to *http://localhost:3000*
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** echo/body/Tag/response_string | Test empty json (request body) |
+| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** echo/string-escaping/{$paramName} | Test $-in-path-param escaping |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** header/integer/boolean/string/enums | Test header parameter(s) |
@@ -77,6 +78,7 @@ All URIs are relative to *http://localhost:3000*
- [org.openapitools.client.models.ApiPet](docs/ApiPet.md)
- [org.openapitools.client.models.ApiQuery](docs/ApiQuery.md)
- [org.openapitools.client.models.ApiStringEnumRef](docs/ApiStringEnumRef.md)
+ - [org.openapitools.client.models.ApiStringEscapingEdgeCases](docs/ApiStringEscapingEdgeCases.md)
- [org.openapitools.client.models.ApiTag](docs/ApiTag.md)
- [org.openapitools.client.models.ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter](docs/ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.md)
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
new file mode 100644
index 000000000000..d2d562c90c52
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
@@ -0,0 +1,50 @@
+# EchoApi
+
+All URIs are relative to *http://localhost:3000*
+
+| Method | HTTP request | Description |
+| ------------- | ------------- | ------------- |
+| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** echo/string-escaping/{$paramName} | Test \$-in-path-param escaping |
+
+
+
+Test \$-in-path-param escaping
+
+Tests that path params with \$dollar, backslash \\ and quote " are properly escaped
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.client.*
+//import org.openapitools.client.infrastructure.*
+//import org.openapitools.client.models.*
+
+val apiClient = ApiClient()
+val webService = apiClient.createWebservice(EchoApi::class.java)
+val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close */
+
+launch(Dispatchers.IO) {
+ val result : kotlin.String = webService.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+}
+```
+
+### Parameters
+| **dollarParamName** | **kotlin.String**| | |
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
+
+### Return type
+
+**kotlin.String**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: text/plain
+
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/StringEscapingEdgeCases.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/StringEscapingEdgeCases.md
new file mode 100644
index 000000000000..e49f8e50da00
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/StringEscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# ApiStringEscapingEdgeCases
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional] |
+| **regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional] |
+
+
+
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
new file mode 100644
index 000000000000..81e9ebf9525b
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
@@ -0,0 +1,25 @@
+package org.openapitools.client.apis
+
+import org.openapitools.client.infrastructure.CollectionFormats.*
+import retrofit2.http.*
+import retrofit2.Response
+import okhttp3.RequestBody
+import com.google.gson.annotations.SerializedName
+
+
+interface EchoApi {
+ /**
+ * GET echo/string-escaping/{$paramName}
+ * Test $-in-path-param escaping
+ * Tests that path params with $dollar, backslash \\ and quote \" are properly escaped
+ * Responses:
+ * - 200: ok
+ *
+ * @param dollarParamName
+ * @param filterDollarType Filter with $dollar in description and comment-close *_/ (optional, default to "default\$Value with \\\\ and \\"")
+ * @return [kotlin.String]
+ */
+ @GET("echo/string-escaping/{\$paramName}")
+ suspend fun testsEchoStringEscapingParamName(@Path("\$paramName") dollarParamName: kotlin.String, @Query("filter\$Type") filterDollarType: kotlin.String? = "default\$Value with \\ and \""): Response
+
+}
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
new file mode 100644
index 000000000000..e9d6cecc3821
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiStringEscapingEdgeCases.kt
@@ -0,0 +1,51 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.google.gson.annotations.SerializedName
+
+/**
+ * Model to test: $dollar, backslash \\, quote \", comment-close *_/
+ *
+ * @param dollarDefault A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ * @param regularProp Regular property for baseline comparison
+ */
+
+
+data class ApiStringEscapingEdgeCases (
+
+ /* A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ @SerializedName("dollarDefault")
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+
+ /* Regular property for baseline comparison */
+ @SerializedName("regularProp")
+ val regularProp: kotlin.String? = null
+
+) {
+
+
+}
+
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
new file mode 100644
index 000000000000..f0f08d55a94b
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/apis/EchoApiTest.kt
@@ -0,0 +1,46 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.apis
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.apis.EchoApi
+
+class EchoApiTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of EchoApi
+ //val apiInstance = EchoApi()
+
+ // to test testsEchoStringEscapingParamName
+ should("test testsEchoStringEscapingParamName") {
+ // uncomment below to test testsEchoStringEscapingParamName
+ //val dollarParamName : kotlin.String = dollarParamName_example // kotlin.String |
+ //val filterDollarType : kotlin.String = filterDollarType_example // kotlin.String | Filter with $dollar in description and comment-close *_/
+ //val result : kotlin.String = apiInstance.testsEchoStringEscapingParamName(dollarParamName, filterDollarType)
+ //result shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
new file mode 100644
index 000000000000..6cfaf10ce897
--- /dev/null
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/StringEscapingEdgeCasesTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.ApiStringEscapingEdgeCases
+
+class ApiStringEscapingEdgeCasesTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of ApiStringEscapingEdgeCases
+ //val modelInstance = ApiStringEscapingEdgeCases()
+
+ // to test the property `dollarDefault` - A string whose default has $dollar, backslash \\, quote \" and comment-close *_/
+ should("test dollarDefault") {
+ // uncomment below to test the property
+ //modelInstance.dollarDefault shouldBe ("TODO")
+ }
+
+ // to test the property `regularProp` - Regular property for baseline comparison
+ should("test regularProp") {
+ // uncomment below to test the property
+ //modelInstance.regularProp shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/Apa.md b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/Apa.md
index c83f71851c20..2b414b6ca1f4 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/Apa.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/Apa.md
@@ -8,6 +8,7 @@
| **n0** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | |
| **i1** | **kotlin.Int** | | [optional] |
| **n1** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
+| **s0** | **kotlin.String** | String property with \$dollar, backslash, quote, comment-close in default | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
index dd1534cf92fc..a9ad176c2c38 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
@@ -9,7 +9,7 @@ All URIs are relative to *http://localhost*
# **test**
-> test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
+> test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, qs0, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
Tests default values
@@ -42,6 +42,7 @@ val hn0 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn1 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn2 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn3 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
+val qs0 : kotlin.String = qs0_example // kotlin.String | String with $dollar, backslash, quote, comment-close in default
val fi0 : kotlin.Int = 56 // kotlin.Int |
val fi1 : kotlin.Int = 56 // kotlin.Int |
val fi2 : kotlin.Int = 56 // kotlin.Int |
@@ -52,7 +53,7 @@ val fn2 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val fn3 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val fn4 : kotlin.collections.List = // kotlin.collections.List |
try {
- apiInstance.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
+ apiInstance.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, qs0, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
} catch (e: ClientException) {
println("4xx response calling DefaultApi#test")
e.printStackTrace()
@@ -83,6 +84,7 @@ try {
| **hn1** | **java.math.BigDecimal**| | [default to 71.0] |
| **hn2** | **java.math.BigDecimal**| | [optional] |
| **hn3** | **java.math.BigDecimal**| | |
+| **qs0** | **kotlin.String**| String with \$dollar, backslash, quote, comment-close in default | [optional] [default to "hello \$world, backslash=\\\\, quote=\\", end *_/"] |
| **fi0** | **kotlin.Int**| | [optional] [default to 10] |
| **fi1** | **kotlin.Int**| | [default to 71] |
| **fi2** | **kotlin.Int**| | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
index 7a217ce1246b..eaa2027bd058 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
+++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
@@ -76,6 +76,7 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @param hn1 (default to 71.0)
* @param hn2 (optional)
* @param hn3
+ * @param qs0 String with $dollar, backslash, quote, comment-close in default (optional, default to "hello $world, backslash=\\, quote=\", end *_/")
* @param fi0 (optional, default to 10)
* @param fi1 (default to 71)
* @param fi2 (optional)
@@ -93,8 +94,8 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @throws ServerException If the API returns a server error response
*/
@Throws(IllegalStateException::class, IOException::class, UnsupportedOperationException::class, ClientException::class, ServerException::class)
- fun test(pi0: kotlin.Int = 10, pi1: kotlin.Int, pn0: java.math.BigDecimal = java.math.BigDecimal("10.0"), pn1: java.math.BigDecimal, qi0: kotlin.Int? = 10, qi1: kotlin.Int = 71, qi2: kotlin.Int? = null, qi3: kotlin.Int, qn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), qn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), qn2: java.math.BigDecimal? = null, qn3: java.math.BigDecimal, hi0: kotlin.Int? = 10, hi1: kotlin.Int = 71, hi2: kotlin.Int? = null, hi3: kotlin.Int, hn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), hn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), hn2: java.math.BigDecimal? = null, hn3: java.math.BigDecimal, fi0: kotlin.Int? = 10, fi1: kotlin.Int = 71, fi2: kotlin.Int? = null, fi3: kotlin.Int, fn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), fn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), fn2: java.math.BigDecimal? = null, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : Unit {
- val localVarResponse = testWithHttpInfo(pi0 = pi0, pi1 = pi1, pn0 = pn0, pn1 = pn1, qi0 = qi0, qi1 = qi1, qi2 = qi2, qi3 = qi3, qn0 = qn0, qn1 = qn1, qn2 = qn2, qn3 = qn3, hi0 = hi0, hi1 = hi1, hi2 = hi2, hi3 = hi3, hn0 = hn0, hn1 = hn1, hn2 = hn2, hn3 = hn3, fi0 = fi0, fi1 = fi1, fi2 = fi2, fi3 = fi3, fn0 = fn0, fn1 = fn1, fn2 = fn2, fn3 = fn3, fn4 = fn4)
+ fun test(pi0: kotlin.Int = 10, pi1: kotlin.Int, pn0: java.math.BigDecimal = java.math.BigDecimal("10.0"), pn1: java.math.BigDecimal, qi0: kotlin.Int? = 10, qi1: kotlin.Int = 71, qi2: kotlin.Int? = null, qi3: kotlin.Int, qn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), qn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), qn2: java.math.BigDecimal? = null, qn3: java.math.BigDecimal, hi0: kotlin.Int? = 10, hi1: kotlin.Int = 71, hi2: kotlin.Int? = null, hi3: kotlin.Int, hn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), hn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), hn2: java.math.BigDecimal? = null, hn3: java.math.BigDecimal, qs0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */", fi0: kotlin.Int? = 10, fi1: kotlin.Int = 71, fi2: kotlin.Int? = null, fi3: kotlin.Int, fn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), fn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), fn2: java.math.BigDecimal? = null, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : Unit {
+ val localVarResponse = testWithHttpInfo(pi0 = pi0, pi1 = pi1, pn0 = pn0, pn1 = pn1, qi0 = qi0, qi1 = qi1, qi2 = qi2, qi3 = qi3, qn0 = qn0, qn1 = qn1, qn2 = qn2, qn3 = qn3, hi0 = hi0, hi1 = hi1, hi2 = hi2, hi3 = hi3, hn0 = hn0, hn1 = hn1, hn2 = hn2, hn3 = hn3, qs0 = qs0, fi0 = fi0, fi1 = fi1, fi2 = fi2, fi3 = fi3, fn0 = fn0, fn1 = fn1, fn2 = fn2, fn3 = fn3, fn4 = fn4)
return when (localVarResponse.responseType) {
ResponseType.Success -> Unit
@@ -135,6 +136,7 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @param hn1 (default to 71.0)
* @param hn2 (optional)
* @param hn3
+ * @param qs0 String with $dollar, backslash, quote, comment-close in default (optional, default to "hello $world, backslash=\\, quote=\", end *_/")
* @param fi0 (optional, default to 10)
* @param fi1 (default to 71)
* @param fi2 (optional)
@@ -149,8 +151,8 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @throws IOException Rethrows the OkHttp execute method exception
*/
@Throws(IllegalStateException::class, IOException::class)
- fun testWithHttpInfo(pi0: kotlin.Int, pi1: kotlin.Int, pn0: java.math.BigDecimal, pn1: java.math.BigDecimal, qi0: kotlin.Int?, qi1: kotlin.Int, qi2: kotlin.Int?, qi3: kotlin.Int, qn0: java.math.BigDecimal?, qn1: java.math.BigDecimal, qn2: java.math.BigDecimal?, qn3: java.math.BigDecimal, hi0: kotlin.Int?, hi1: kotlin.Int, hi2: kotlin.Int?, hi3: kotlin.Int, hn0: java.math.BigDecimal?, hn1: java.math.BigDecimal, hn2: java.math.BigDecimal?, hn3: java.math.BigDecimal, fi0: kotlin.Int?, fi1: kotlin.Int, fi2: kotlin.Int?, fi3: kotlin.Int, fn0: java.math.BigDecimal?, fn1: java.math.BigDecimal, fn2: java.math.BigDecimal?, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : ApiResponse {
- val localVariableConfig = testRequestConfig(pi0 = pi0, pi1 = pi1, pn0 = pn0, pn1 = pn1, qi0 = qi0, qi1 = qi1, qi2 = qi2, qi3 = qi3, qn0 = qn0, qn1 = qn1, qn2 = qn2, qn3 = qn3, hi0 = hi0, hi1 = hi1, hi2 = hi2, hi3 = hi3, hn0 = hn0, hn1 = hn1, hn2 = hn2, hn3 = hn3, fi0 = fi0, fi1 = fi1, fi2 = fi2, fi3 = fi3, fn0 = fn0, fn1 = fn1, fn2 = fn2, fn3 = fn3, fn4 = fn4)
+ fun testWithHttpInfo(pi0: kotlin.Int, pi1: kotlin.Int, pn0: java.math.BigDecimal, pn1: java.math.BigDecimal, qi0: kotlin.Int?, qi1: kotlin.Int, qi2: kotlin.Int?, qi3: kotlin.Int, qn0: java.math.BigDecimal?, qn1: java.math.BigDecimal, qn2: java.math.BigDecimal?, qn3: java.math.BigDecimal, hi0: kotlin.Int?, hi1: kotlin.Int, hi2: kotlin.Int?, hi3: kotlin.Int, hn0: java.math.BigDecimal?, hn1: java.math.BigDecimal, hn2: java.math.BigDecimal?, hn3: java.math.BigDecimal, qs0: kotlin.String?, fi0: kotlin.Int?, fi1: kotlin.Int, fi2: kotlin.Int?, fi3: kotlin.Int, fn0: java.math.BigDecimal?, fn1: java.math.BigDecimal, fn2: java.math.BigDecimal?, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : ApiResponse {
+ val localVariableConfig = testRequestConfig(pi0 = pi0, pi1 = pi1, pn0 = pn0, pn1 = pn1, qi0 = qi0, qi1 = qi1, qi2 = qi2, qi3 = qi3, qn0 = qn0, qn1 = qn1, qn2 = qn2, qn3 = qn3, hi0 = hi0, hi1 = hi1, hi2 = hi2, hi3 = hi3, hn0 = hn0, hn1 = hn1, hn2 = hn2, hn3 = hn3, qs0 = qs0, fi0 = fi0, fi1 = fi1, fi2 = fi2, fi3 = fi3, fn0 = fn0, fn1 = fn1, fn2 = fn2, fn3 = fn3, fn4 = fn4)
return request>, Unit>(
localVariableConfig
@@ -180,6 +182,7 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @param hn1 (default to 71.0)
* @param hn2 (optional)
* @param hn3
+ * @param qs0 String with $dollar, backslash, quote, comment-close in default (optional, default to "hello $world, backslash=\\, quote=\", end *_/")
* @param fi0 (optional, default to 10)
* @param fi1 (default to 71)
* @param fi2 (optional)
@@ -191,7 +194,7 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
* @param fn4
* @return RequestConfig
*/
- fun testRequestConfig(pi0: kotlin.Int, pi1: kotlin.Int, pn0: java.math.BigDecimal, pn1: java.math.BigDecimal, qi0: kotlin.Int?, qi1: kotlin.Int, qi2: kotlin.Int?, qi3: kotlin.Int, qn0: java.math.BigDecimal?, qn1: java.math.BigDecimal, qn2: java.math.BigDecimal?, qn3: java.math.BigDecimal, hi0: kotlin.Int?, hi1: kotlin.Int, hi2: kotlin.Int?, hi3: kotlin.Int, hn0: java.math.BigDecimal?, hn1: java.math.BigDecimal, hn2: java.math.BigDecimal?, hn3: java.math.BigDecimal, fi0: kotlin.Int?, fi1: kotlin.Int, fi2: kotlin.Int?, fi3: kotlin.Int, fn0: java.math.BigDecimal?, fn1: java.math.BigDecimal, fn2: java.math.BigDecimal?, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : RequestConfig>> {
+ fun testRequestConfig(pi0: kotlin.Int, pi1: kotlin.Int, pn0: java.math.BigDecimal, pn1: java.math.BigDecimal, qi0: kotlin.Int?, qi1: kotlin.Int, qi2: kotlin.Int?, qi3: kotlin.Int, qn0: java.math.BigDecimal?, qn1: java.math.BigDecimal, qn2: java.math.BigDecimal?, qn3: java.math.BigDecimal, hi0: kotlin.Int?, hi1: kotlin.Int, hi2: kotlin.Int?, hi3: kotlin.Int, hn0: java.math.BigDecimal?, hn1: java.math.BigDecimal, hn2: java.math.BigDecimal?, hn3: java.math.BigDecimal, qs0: kotlin.String?, fi0: kotlin.Int?, fi1: kotlin.Int, fi2: kotlin.Int?, fi3: kotlin.Int, fn0: java.math.BigDecimal?, fn1: java.math.BigDecimal, fn2: java.math.BigDecimal?, fn3: java.math.BigDecimal, fn4: kotlin.collections.List) : RequestConfig>> {
val localVariableBody = mapOf(
"fi0" to PartConfig(body = fi0, headers = mutableMapOf()),
"fi1" to PartConfig(body = fi1, headers = mutableMapOf()),
@@ -220,6 +223,9 @@ open class DefaultApi(basePath: kotlin.String = defaultBasePath, client: Call.Fa
put("qn2", listOf(qn2.toString()))
}
put("qn3", listOf(qn3.toString()))
+ if (qs0 != null) {
+ put("qs0", listOf(qs0.toString()))
+ }
}
val localVariableHeaders: MutableMap = mutableMapOf("Content-Type" to "multipart/form-data")
hi0?.apply { localVariableHeaders["hi0"] = this.toString() }
diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/models/Apa.kt b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/models/Apa.kt
index fdf64fda9a24..99483aa9ba69 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/models/Apa.kt
+++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/src/main/kotlin/org/openapitools/client/models/Apa.kt
@@ -34,6 +34,7 @@ import com.squareup.moshi.JsonClass
* @param n0
* @param i1
* @param n1
+ * @param s0 String property with $dollar, backslash, quote, comment-close in default
*/
@@ -49,7 +50,11 @@ data class Apa (
val i1: kotlin.Int? = null,
@Json(name = "n1")
- val n1: java.math.BigDecimal? = null
+ val n1: java.math.BigDecimal? = null,
+
+ /* String property with $dollar, backslash, quote, comment-close in default */
+ @Json(name = "s0")
+ val s0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */"
) {
diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/Apa.md b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/Apa.md
index c83f71851c20..2b414b6ca1f4 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/Apa.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/Apa.md
@@ -8,6 +8,7 @@
| **n0** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | |
| **i1** | **kotlin.Int** | | [optional] |
| **n1** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
+| **s0** | **kotlin.String** | String property with \$dollar, backslash, quote, comment-close in default | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
index 0545066c005b..0493b38d4809 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
@@ -41,6 +41,7 @@ val hn0 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn1 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn2 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val hn3 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
+val qs0 : kotlin.String = qs0_example // kotlin.String | String with $dollar, backslash, quote, comment-close in default
val fi0 : kotlin.Int = 56 // kotlin.Int |
val fi1 : kotlin.Int = 56 // kotlin.Int |
val fi2 : kotlin.Int = 56 // kotlin.Int |
@@ -51,7 +52,7 @@ val fn2 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val fn3 : java.math.BigDecimal = 8.14 // java.math.BigDecimal |
val fn4 : kotlin.collections.List = // kotlin.collections.List |
-webService.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
+webService.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, qs0, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
```
### Parameters
@@ -75,6 +76,7 @@ webService.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0,
| **hn1** | **java.math.BigDecimal**| | [default to 71.0] |
| **hn2** | **java.math.BigDecimal**| | [optional] |
| **hn3** | **java.math.BigDecimal**| | |
+| **qs0** | **kotlin.String**| String with \$dollar, backslash, quote, comment-close in default | [optional] [default to "hello \$world, backslash=\\\\, quote=\\", end *_/"] |
| **fi0** | **kotlin.Int**| | [optional] [default to 10] |
| **fi1** | **kotlin.Int**| | [default to 71] |
| **fi2** | **kotlin.Int**| | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
index cb37c7fc44ce..960b7f7a1458 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
+++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/apis/DefaultApi.kt
@@ -35,6 +35,7 @@ interface DefaultApi {
* @param hn1 (default to 71.0)
* @param hn2 (optional)
* @param hn3
+ * @param qs0 String with $dollar, backslash, quote, comment-close in default (optional, default to "hello \$world, backslash=\\\\, quote=\\", end *_/")
* @param fi0 (optional, default to 10)
* @param fi1 (default to 71)
* @param fi2 (optional)
@@ -48,6 +49,6 @@ interface DefaultApi {
*/
@Multipart
@POST("test")
- fun test(@Path("pi0") pi0: kotlin.Int = 10, @Path("pi1") pi1: kotlin.Int, @Path("pn0") pn0: java.math.BigDecimal = java.math.BigDecimal("10.0"), @Path("pn1") pn1: java.math.BigDecimal, @Query("qi0") qi0: kotlin.Int? = 10, @Query("qi1") qi1: kotlin.Int = 71, @Query("qi2") qi2: kotlin.Int? = null, @Query("qi3") qi3: kotlin.Int, @Query("qn0") qn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Query("qn1") qn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Query("qn2") qn2: java.math.BigDecimal? = null, @Query("qn3") qn3: java.math.BigDecimal, @Header("hi0") hi0: kotlin.Int? = 10, @Header("hi1") hi1: kotlin.Int = 71, @Header("hi2") hi2: kotlin.Int? = null, @Header("hi3") hi3: kotlin.Int, @Header("hn0") hn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Header("hn1") hn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Header("hn2") hn2: java.math.BigDecimal? = null, @Header("hn3") hn3: java.math.BigDecimal, @Part("fi0") fi0: kotlin.Int? = 10, @Part("fi1") fi1: kotlin.Int = 71, @Part("fi2") fi2: kotlin.Int? = null, @Part("fi3") fi3: kotlin.Int, @Part("fn0") fn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Part("fn1") fn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Part("fn2") fn2: java.math.BigDecimal? = null, @Part("fn3") fn3: java.math.BigDecimal, @Part("fn4") fn4: kotlin.collections.List): Call
+ fun test(@Path("pi0") pi0: kotlin.Int = 10, @Path("pi1") pi1: kotlin.Int, @Path("pn0") pn0: java.math.BigDecimal = java.math.BigDecimal("10.0"), @Path("pn1") pn1: java.math.BigDecimal, @Query("qi0") qi0: kotlin.Int? = 10, @Query("qi1") qi1: kotlin.Int = 71, @Query("qi2") qi2: kotlin.Int? = null, @Query("qi3") qi3: kotlin.Int, @Query("qn0") qn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Query("qn1") qn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Query("qn2") qn2: java.math.BigDecimal? = null, @Query("qn3") qn3: java.math.BigDecimal, @Header("hi0") hi0: kotlin.Int? = 10, @Header("hi1") hi1: kotlin.Int = 71, @Header("hi2") hi2: kotlin.Int? = null, @Header("hi3") hi3: kotlin.Int, @Header("hn0") hn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Header("hn1") hn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Header("hn2") hn2: java.math.BigDecimal? = null, @Header("hn3") hn3: java.math.BigDecimal, @Query("qs0") qs0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */", @Part("fi0") fi0: kotlin.Int? = 10, @Part("fi1") fi1: kotlin.Int = 71, @Part("fi2") fi2: kotlin.Int? = null, @Part("fi3") fi3: kotlin.Int, @Part("fn0") fn0: java.math.BigDecimal? = java.math.BigDecimal("10.0"), @Part("fn1") fn1: java.math.BigDecimal = java.math.BigDecimal("71.0"), @Part("fn2") fn2: java.math.BigDecimal? = null, @Part("fn3") fn3: java.math.BigDecimal, @Part("fn4") fn4: kotlin.collections.List): Call
}
diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/models/Apa.kt b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/models/Apa.kt
index fdf64fda9a24..99483aa9ba69 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/models/Apa.kt
+++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/src/main/kotlin/org/openapitools/client/models/Apa.kt
@@ -34,6 +34,7 @@ import com.squareup.moshi.JsonClass
* @param n0
* @param i1
* @param n1
+ * @param s0 String property with $dollar, backslash, quote, comment-close in default
*/
@@ -49,7 +50,11 @@ data class Apa (
val i1: kotlin.Int? = null,
@Json(name = "n1")
- val n1: java.math.BigDecimal? = null
+ val n1: java.math.BigDecimal? = null,
+
+ /* String property with $dollar, backslash, quote, comment-close in default */
+ @Json(name = "s0")
+ val s0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */"
) {
diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/docs/Apa.md b/samples/client/petstore/kotlin-default-values-multiplatform/docs/Apa.md
index 078a27310550..7c271b8aa036 100644
--- a/samples/client/petstore/kotlin-default-values-multiplatform/docs/Apa.md
+++ b/samples/client/petstore/kotlin-default-values-multiplatform/docs/Apa.md
@@ -8,6 +8,7 @@
| **n0** | **kotlin.Double** | | |
| **i1** | **kotlin.Int** | | [optional] |
| **n1** | **kotlin.Double** | | [optional] |
+| **s0** | **kotlin.String** | String property with \$dollar, backslash, quote, comment-close in default | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
index 65928b193472..c2fb4914e534 100644
--- a/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
@@ -9,7 +9,7 @@ All URIs are relative to *http://localhost*
# **test**
-> test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
+> test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, qs0, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
Tests default values
@@ -42,6 +42,7 @@ val hn0 : kotlin.Double = 8.14 // kotlin.Double |
val hn1 : kotlin.Double = 8.14 // kotlin.Double |
val hn2 : kotlin.Double = 8.14 // kotlin.Double |
val hn3 : kotlin.Double = 8.14 // kotlin.Double |
+val qs0 : kotlin.String = qs0_example // kotlin.String | String with $dollar, backslash, quote, comment-close in default
val fi0 : kotlin.Int = 56 // kotlin.Int |
val fi1 : kotlin.Int = 56 // kotlin.Int |
val fi2 : kotlin.Int = 56 // kotlin.Int |
@@ -52,7 +53,7 @@ val fn2 : kotlin.Double = 8.14 // kotlin.Double |
val fn3 : kotlin.Double = 8.14 // kotlin.Double |
val fn4 : kotlin.collections.List = // kotlin.collections.List |
try {
- apiInstance.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
+ apiInstance.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0, hi1, hi2, hi3, hn0, hn1, hn2, hn3, qs0, fi0, fi1, fi2, fi3, fn0, fn1, fn2, fn3, fn4)
} catch (e: ClientException) {
println("4xx response calling DefaultApi#test")
e.printStackTrace()
@@ -83,6 +84,7 @@ try {
| **hn1** | **kotlin.Double**| | [default to 71.0] |
| **hn2** | **kotlin.Double**| | [optional] |
| **hn3** | **kotlin.Double**| | |
+| **qs0** | **kotlin.String**| String with \$dollar, backslash, quote, comment-close in default | [optional] [default to "hello \$world, backslash=\\\\, quote=\\", end *_/"] |
| **fi0** | **kotlin.Int**| | [optional] [default to 10] |
| **fi1** | **kotlin.Int**| | [default to 71] |
| **fi2** | **kotlin.Int**| | [optional] |
diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/apis/DefaultApi.kt b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/apis/DefaultApi.kt
index d921fa3929d6..f3c7f4f7a1b1 100644
--- a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/apis/DefaultApi.kt
+++ b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/apis/DefaultApi.kt
@@ -76,6 +76,7 @@ open class DefaultApi : ApiClient {
* @param hn1 (default to 71.0)
* @param hn2 (optional)
* @param hn3
+ * @param qs0 String with $dollar, backslash, quote, comment-close in default (optional, default to "hello $world, backslash=\\, quote=\", end *_/")
* @param fi0 (optional, default to 10)
* @param fi1 (default to 71)
* @param fi2 (optional)
@@ -87,7 +88,7 @@ open class DefaultApi : ApiClient {
* @param fn4
* @return void
*/
- open suspend fun test(pi0: kotlin.Int = 10, pi1: kotlin.Int, pn0: kotlin.Double = 10.0.toDouble(), pn1: kotlin.Double, qi0: kotlin.Int? = 10, qi1: kotlin.Int = 71, qi2: kotlin.Int? = null, qi3: kotlin.Int, qn0: kotlin.Double? = 10.0.toDouble(), qn1: kotlin.Double = 71.0.toDouble(), qn2: kotlin.Double? = null, qn3: kotlin.Double, hi0: kotlin.Int? = 10, hi1: kotlin.Int = 71, hi2: kotlin.Int? = null, hi3: kotlin.Int, hn0: kotlin.Double? = 10.0.toDouble(), hn1: kotlin.Double = 71.0.toDouble(), hn2: kotlin.Double? = null, hn3: kotlin.Double, fi0: kotlin.Int? = 10, fi1: kotlin.Int = 71, fi2: kotlin.Int? = null, fi3: kotlin.Int, fn0: kotlin.Double? = 10.0.toDouble(), fn1: kotlin.Double = 71.0.toDouble(), fn2: kotlin.Double? = null, fn3: kotlin.Double, fn4: kotlin.collections.List): HttpResponse {
+ open suspend fun test(pi0: kotlin.Int = 10, pi1: kotlin.Int, pn0: kotlin.Double = 10.0.toDouble(), pn1: kotlin.Double, qi0: kotlin.Int? = 10, qi1: kotlin.Int = 71, qi2: kotlin.Int? = null, qi3: kotlin.Int, qn0: kotlin.Double? = 10.0.toDouble(), qn1: kotlin.Double = 71.0.toDouble(), qn2: kotlin.Double? = null, qn3: kotlin.Double, hi0: kotlin.Int? = 10, hi1: kotlin.Int = 71, hi2: kotlin.Int? = null, hi3: kotlin.Int, hn0: kotlin.Double? = 10.0.toDouble(), hn1: kotlin.Double = 71.0.toDouble(), hn2: kotlin.Double? = null, hn3: kotlin.Double, qs0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */", fi0: kotlin.Int? = 10, fi1: kotlin.Int = 71, fi2: kotlin.Int? = null, fi3: kotlin.Int, fn0: kotlin.Double? = 10.0.toDouble(), fn1: kotlin.Double = 71.0.toDouble(), fn2: kotlin.Double? = null, fn3: kotlin.Double, fn4: kotlin.collections.List): HttpResponse {
val localVariableAuthNames = listOf()
@@ -115,6 +116,7 @@ open class DefaultApi : ApiClient {
qn1?.apply { localVariableQuery["qn1"] = listOf("$qn1") }
qn2?.apply { localVariableQuery["qn2"] = listOf("$qn2") }
qn3?.apply { localVariableQuery["qn3"] = listOf("$qn3") }
+ qs0?.apply { localVariableQuery["qs0"] = listOf("$qs0") }
val localVariableHeaders = mutableMapOf()
hi0?.apply { localVariableHeaders["hi0"] = this.toString() }
hi1?.apply { localVariableHeaders["hi1"] = this.toString() }
diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/models/Apa.kt b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/models/Apa.kt
index b637884e85c9..302d967d4267 100644
--- a/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/models/Apa.kt
+++ b/samples/client/petstore/kotlin-default-values-multiplatform/src/commonMain/kotlin/org/openapitools/client/models/Apa.kt
@@ -35,6 +35,7 @@ import kotlinx.serialization.encoding.*
* @param n0
* @param i1
* @param n1
+ * @param s0 String property with $dollar, backslash, quote, comment-close in default
*/
@Serializable
@@ -46,7 +47,10 @@ data class Apa (
@SerialName(value = "i1") val i1: kotlin.Int? = null,
- @SerialName(value = "n1") val n1: kotlin.Double? = null
+ @SerialName(value = "n1") val n1: kotlin.Double? = null,
+
+ /* String property with $dollar, backslash, quote, comment-close in default */
+ @SerialName(value = "s0") val s0: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */"
) {
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/FILES b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/FILES
index 1b45f7fe9a51..43f9908db67c 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/.openapi-generator/FILES
@@ -9,6 +9,7 @@ docs/FakeApi.md
docs/Order.md
docs/Pet.md
docs/PetApi.md
+docs/PetWithSpecialProps.md
docs/StoreApi.md
docs/Tag.md
docs/User.md
@@ -41,6 +42,7 @@ src/main/kotlin/org/openapitools/client/models/Category.kt
src/main/kotlin/org/openapitools/client/models/ModelApiResponse.kt
src/main/kotlin/org/openapitools/client/models/Order.kt
src/main/kotlin/org/openapitools/client/models/Pet.kt
+src/main/kotlin/org/openapitools/client/models/PetWithSpecialProps.kt
src/main/kotlin/org/openapitools/client/models/Tag.kt
src/main/kotlin/org/openapitools/client/models/User.kt
src/main/kotlin/org/openapitools/client/models/UserOrPet.kt
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/README.md b/samples/client/petstore/kotlin-jvm-ktor-gson/README.md
index b0bbb1d576e0..a3fbffa97467 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-gson/README.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/README.md
@@ -79,6 +79,7 @@ All URIs are relative to *http://petstore.swagger.io/v2*
- [org.openapitools.client.models.ModelApiResponse](docs/ModelApiResponse.md)
- [org.openapitools.client.models.Order](docs/Order.md)
- [org.openapitools.client.models.Pet](docs/Pet.md)
+ - [org.openapitools.client.models.PetWithSpecialProps](docs/PetWithSpecialProps.md)
- [org.openapitools.client.models.Tag](docs/Tag.md)
- [org.openapitools.client.models.User](docs/User.md)
- [org.openapitools.client.models.UserOrPet](docs/UserOrPet.md)
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetWithSpecialProps.md b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetWithSpecialProps.md
new file mode 100644
index 000000000000..53fe36ec810a
--- /dev/null
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetWithSpecialProps.md
@@ -0,0 +1,11 @@
+
+# PetWithSpecialProps
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarId** | **kotlin.String** | Property with \$-prefix in name; default has \$dollar and backslash \\ | [optional] |
+| **nameDollarSuffix** | **kotlin.String** | Property with \$ mid-name; description has backslash \\ and quote " | [optional] |
+
+
+
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/models/PetWithSpecialProps.kt b/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/models/PetWithSpecialProps.kt
new file mode 100644
index 000000000000..f02ff8067716
--- /dev/null
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/src/main/kotlin/org/openapitools/client/models/PetWithSpecialProps.kt
@@ -0,0 +1,51 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.google.gson.annotations.SerializedName
+
+/**
+ * Model with $-prefixed property names for escaping tests (Issue 20502)
+ *
+ * @param dollarId Property with $-prefix in name; default has $dollar and backslash \\
+ * @param nameDollarSuffix Property with $ mid-name; description has backslash \\ and quote \"
+ */
+
+
+data class PetWithSpecialProps (
+
+ /* Property with $-prefix in name; default has $dollar and backslash \\ */
+ @SerializedName("\$id")
+ val dollarId: kotlin.String? = "hello \$world",
+
+ /* Property with $ mid-name; description has backslash \\ and quote \" */
+ @SerializedName("name\$Suffix")
+ val nameDollarSuffix: kotlin.String? = null
+
+) {
+
+
+}
+
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt b/samples/client/petstore/kotlin-jvm-ktor-gson/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
new file mode 100644
index 000000000000..ba24493a7f26
--- /dev/null
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.PetWithSpecialProps
+
+class PetWithSpecialPropsTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of PetWithSpecialProps
+ //val modelInstance = PetWithSpecialProps()
+
+ // to test the property `dollarId` - Property with $-prefix in name; default has $dollar and backslash \\
+ should("test dollarId") {
+ // uncomment below to test the property
+ //modelInstance.dollarId shouldBe ("TODO")
+ }
+
+ // to test the property `nameDollarSuffix` - Property with $ mid-name; description has backslash \\ and quote \"
+ should("test nameDollarSuffix") {
+ // uncomment below to test the property
+ //modelInstance.nameDollarSuffix shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/.openapi-generator/FILES b/samples/client/petstore/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
index 2b66c25862d7..346027c8e906 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/.openapi-generator/FILES
@@ -9,6 +9,7 @@ docs/FakeApi.md
docs/Order.md
docs/Pet.md
docs/PetApi.md
+docs/PetWithSpecialProps.md
docs/StoreApi.md
docs/Tag.md
docs/User.md
@@ -43,6 +44,7 @@ src/main/kotlin/org/openapitools/client/models/ApiApiResponse.kt
src/main/kotlin/org/openapitools/client/models/ApiCategory.kt
src/main/kotlin/org/openapitools/client/models/ApiOrder.kt
src/main/kotlin/org/openapitools/client/models/ApiPet.kt
+src/main/kotlin/org/openapitools/client/models/ApiPetWithSpecialProps.kt
src/main/kotlin/org/openapitools/client/models/ApiTag.kt
src/main/kotlin/org/openapitools/client/models/ApiUser.kt
src/main/kotlin/org/openapitools/client/models/ApiUserOrPet.kt
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/README.md b/samples/client/petstore/kotlin-model-prefix-type-mappings/README.md
index 635416314c8a..628aa3796aea 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/README.md
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/README.md
@@ -79,6 +79,7 @@ All URIs are relative to *http://petstore.swagger.io/v2*
- [org.openapitools.client.models.ApiCategory](docs/ApiCategory.md)
- [org.openapitools.client.models.ApiOrder](docs/ApiOrder.md)
- [org.openapitools.client.models.ApiPet](docs/ApiPet.md)
+ - [org.openapitools.client.models.ApiPetWithSpecialProps](docs/ApiPetWithSpecialProps.md)
- [org.openapitools.client.models.ApiTag](docs/ApiTag.md)
- [org.openapitools.client.models.ApiUser](docs/ApiUser.md)
- [org.openapitools.client.models.ApiUserOrPet](docs/ApiUserOrPet.md)
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetWithSpecialProps.md b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetWithSpecialProps.md
new file mode 100644
index 000000000000..6ea7aeb3180d
--- /dev/null
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetWithSpecialProps.md
@@ -0,0 +1,11 @@
+
+# ApiPetWithSpecialProps
+
+## Properties
+| Name | Type | Description | Notes |
+| ------------ | ------------- | ------------- | ------------- |
+| **dollarId** | **kotlin.String** | Property with \$-prefix in name; default has \$dollar and backslash \\ | [optional] |
+| **nameDollarSuffix** | **kotlin.String** | Property with \$ mid-name; description has backslash \\ and quote " | [optional] |
+
+
+
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 085e5e1fe1e2..291e760063a9 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -91,6 +91,7 @@ class ApiClient(
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiCategory.CustomTypeAdapterFactory())
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiOrder.CustomTypeAdapterFactory())
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPet.CustomTypeAdapterFactory())
+ serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPetWithSpecialProps.CustomTypeAdapterFactory())
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiTag.CustomTypeAdapterFactory())
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUser.CustomTypeAdapterFactory())
serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPet.CustomTypeAdapterFactory())
@@ -259,6 +260,7 @@ fun registerTypeAdapterFactoryForAllModels(gsonBuilder: GsonBuilder): GsonBuilde
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiCategory.CustomTypeAdapterFactory())
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiOrder.CustomTypeAdapterFactory())
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPet.CustomTypeAdapterFactory())
+ gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPetWithSpecialProps.CustomTypeAdapterFactory())
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiTag.CustomTypeAdapterFactory())
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUser.CustomTypeAdapterFactory())
gsonBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPet.CustomTypeAdapterFactory())
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
index 1426926f13fc..1b94e3943802 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
@@ -21,6 +21,7 @@ object Serializer {
.registerTypeAdapterFactory(org.openapitools.client.models.ApiCategory.CustomTypeAdapterFactory())
.registerTypeAdapterFactory(org.openapitools.client.models.ApiOrder.CustomTypeAdapterFactory())
.registerTypeAdapterFactory(org.openapitools.client.models.ApiPet.CustomTypeAdapterFactory())
+ .registerTypeAdapterFactory(org.openapitools.client.models.ApiPetWithSpecialProps.CustomTypeAdapterFactory())
.registerTypeAdapterFactory(org.openapitools.client.models.ApiTag.CustomTypeAdapterFactory())
.registerTypeAdapterFactory(org.openapitools.client.models.ApiUser.CustomTypeAdapterFactory())
.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPet.CustomTypeAdapterFactory())
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiPetWithSpecialProps.kt b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiPetWithSpecialProps.kt
new file mode 100644
index 000000000000..bece1d3997aa
--- /dev/null
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/models/ApiPetWithSpecialProps.kt
@@ -0,0 +1,124 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+
+import com.google.gson.Gson
+import com.google.gson.JsonElement
+import com.google.gson.TypeAdapter
+import com.google.gson.TypeAdapterFactory
+import com.google.gson.reflect.TypeToken
+import com.google.gson.stream.JsonReader
+import com.google.gson.stream.JsonWriter
+import com.google.gson.annotations.JsonAdapter
+import java.io.IOException
+import com.google.gson.annotations.SerializedName
+
+/**
+ * Model with $-prefixed property names for escaping tests (Issue 20502)
+ *
+ * @param dollarId Property with $-prefix in name; default has $dollar and backslash \\
+ * @param nameDollarSuffix Property with $ mid-name; description has backslash \\ and quote \"
+ */
+
+
+data class ApiPetWithSpecialProps (
+
+ /* Property with $-prefix in name; default has $dollar and backslash \\ */
+ @SerializedName("\$id")
+ val dollarId: kotlin.String? = "hello \$world",
+
+ /* Property with $ mid-name; description has backslash \\ and quote \" */
+ @SerializedName("name\$Suffix")
+ val nameDollarSuffix: kotlin.String? = null
+
+) {
+
+
+ class CustomTypeAdapterFactory : TypeAdapterFactory {
+ override fun create(gson: Gson, type: TypeToken): TypeAdapter? {
+ if (!ApiPetWithSpecialProps::class.java.isAssignableFrom(type.rawType)) {
+ return null // this class only serializes 'ApiPetWithSpecialProps' and its subtypes
+ }
+ val elementAdapter = gson.getAdapter(JsonElement::class.java)
+ val thisAdapter = gson.getDelegateAdapter(this, TypeToken.get(ApiPetWithSpecialProps::class.java))
+
+ @Suppress("UNCHECKED_CAST")
+ return object : TypeAdapter() {
+ @Throws(IOException::class)
+ override fun write(out: JsonWriter, value: ApiPetWithSpecialProps) {
+ val obj = thisAdapter.toJsonTree(value).getAsJsonObject()
+ elementAdapter.write(out, obj)
+ }
+
+ @Throws(IOException::class)
+ override fun read(jsonReader: JsonReader): ApiPetWithSpecialProps {
+ val jsonElement = elementAdapter.read(jsonReader)
+ validateJsonElement(jsonElement)
+ return thisAdapter.fromJsonTree(jsonElement)
+ }
+ }.nullSafe() as TypeAdapter
+ }
+ }
+
+ companion object {
+ var openapiFields = HashSet()
+ var openapiRequiredFields = HashSet()
+
+ init {
+ // a set of all properties/fields (JSON key names)
+ openapiFields.add("\$id")
+ openapiFields.add("name\$Suffix")
+
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to ApiPetWithSpecialProps
+ */
+ @Throws(IOException::class)
+ fun validateJsonElement(jsonElement: JsonElement?) {
+ if (jsonElement == null) {
+ require(openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null
+ String.format("The required field(s) %s in ApiPetWithSpecialProps is not found in the empty JSON string", ApiPetWithSpecialProps.openapiRequiredFields.toString())
+ }
+ }
+ val jsonObj = jsonElement!!.getAsJsonObject()
+ if (jsonObj["\$id"] != null && !jsonObj["\$id"].isJsonNull) {
+ require(jsonObj.get("\$id").isJsonPrimitive) {
+ String.format("Expected the field `\$id` to be a primitive type in the JSON string but got `%s`", jsonObj["\$id"].toString())
+ }
+ }
+ if (jsonObj["name\$Suffix"] != null && !jsonObj["name\$Suffix"].isJsonNull) {
+ require(jsonObj.get("name\$Suffix").isJsonPrimitive) {
+ String.format("Expected the field `name\$Suffix` to be a primitive type in the JSON string but got `%s`", jsonObj["name\$Suffix"].toString())
+ }
+ }
+ }
+ }
+
+}
+
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
new file mode 100644
index 000000000000..e345bb576354
--- /dev/null
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/test/kotlin/org/openapitools/client/models/PetWithSpecialPropsTest.kt
@@ -0,0 +1,49 @@
+/**
+ *
+ * Please note:
+ * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * Do not edit this file manually.
+ *
+ */
+
+@file:Suppress(
+ "ArrayInDataClass",
+ "DuplicatedCode",
+ "EnumEntryName",
+ "RemoveRedundantQualifierName",
+ "RemoveRedundantCallsOfConversionMethods",
+ "REDUNDANT_CALL_OF_CONVERSION_METHOD",
+ "RedundantUnitReturnType",
+ "RemoveEmptyClassBody",
+ "UnnecessaryVariable",
+ "UnusedImport",
+ "UnnecessaryVariable",
+ "unused"
+)
+
+package org.openapitools.client.models
+
+import io.kotlintest.shouldBe
+import io.kotlintest.specs.ShouldSpec
+
+import org.openapitools.client.models.ApiPetWithSpecialProps
+
+class ApiPetWithSpecialPropsTest : ShouldSpec() {
+ init {
+ // uncomment below to create an instance of ApiPetWithSpecialProps
+ //val modelInstance = ApiPetWithSpecialProps()
+
+ // to test the property `dollarId` - Property with $-prefix in name; default has $dollar and backslash \\
+ should("test dollarId") {
+ // uncomment below to test the property
+ //modelInstance.dollarId shouldBe ("TODO")
+ }
+
+ // to test the property `nameDollarSuffix` - Property with $ mid-name; description has backslash \\ and quote \"
+ should("test nameDollarSuffix") {
+ // uncomment below to test the property
+ //modelInstance.nameDollarSuffix shouldBe ("TODO")
+ }
+
+ }
+}
diff --git a/samples/server/echo_api/kotlin-wiremock/.openapi-generator/FILES b/samples/server/echo_api/kotlin-wiremock/.openapi-generator/FILES
index 762b52754833..6a523b2d684d 100644
--- a/samples/server/echo_api/kotlin-wiremock/.openapi-generator/FILES
+++ b/samples/server/echo_api/kotlin-wiremock/.openapi-generator/FILES
@@ -10,6 +10,8 @@ src/main/kotlin/org/openapitools/apis/AuthApiStubBuilders.kt
src/main/kotlin/org/openapitools/apis/AuthApiStubs.kt
src/main/kotlin/org/openapitools/apis/BodyApiStubBuilders.kt
src/main/kotlin/org/openapitools/apis/BodyApiStubs.kt
+src/main/kotlin/org/openapitools/apis/EchoApiStubBuilders.kt
+src/main/kotlin/org/openapitools/apis/EchoApiStubs.kt
src/main/kotlin/org/openapitools/apis/FormApiStubBuilders.kt
src/main/kotlin/org/openapitools/apis/FormApiStubs.kt
src/main/kotlin/org/openapitools/apis/HeaderApiStubBuilders.kt
@@ -25,5 +27,6 @@ src/main/kotlin/org/openapitools/models/NumberPropertiesOnly.kt
src/main/kotlin/org/openapitools/models/Pet.kt
src/main/kotlin/org/openapitools/models/Query.kt
src/main/kotlin/org/openapitools/models/StringEnumRef.kt
+src/main/kotlin/org/openapitools/models/StringEscapingEdgeCases.kt
src/main/kotlin/org/openapitools/models/Tag.kt
src/main/kotlin/org/openapitools/models/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.kt
diff --git a/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubBuilders.kt b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubBuilders.kt
new file mode 100644
index 000000000000..f8909ad27e79
--- /dev/null
+++ b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubBuilders.kt
@@ -0,0 +1,63 @@
+@file:Suppress(
+ "RemoveRedundantQualifierName",
+ "UnusedImport",
+ "unused",
+)
+
+package org.openapitools.apis
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.github.tomakehurst.wiremock.client.MappingBuilder
+import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder
+import com.github.tomakehurst.wiremock.client.WireMock.*
+import com.github.tomakehurst.wiremock.matching.StringValuePattern
+import org.openapitools.models.*
+
+/**
+ * Builder for WireMock stubs of operation testsEchoStringEscapingParamName.
+ */
+class TestsEchoStringEscapingParamNameStubBuilder internal constructor(private val objectMapper: ObjectMapper, private val stub: MappingBuilder) {
+
+ /**
+ * Let the stub for testsEchoStringEscapingParamName respond with HTTP status code 200.
+ *
+ * @param body response body for the [MappingBuilder].
+ * @param configurer configurer for the [MappingBuilder], allowing for arbitrary changes.
+ * @return a [MappingBuilder] to be registered with a WireMock instance.
+ */
+ fun respondWith200(
+ body: kotlin.String,
+ configurer: ResponseDefinitionBuilder.() -> ResponseDefinitionBuilder = { this },
+ ): MappingBuilder =
+ stub.willReturn(aResponse()
+ .withStatus(200)
+ .withHeader("Content-Type", "application/json")
+ .withBody(objectMapper.writeValueAsString(body))
+ .configurer()
+ )
+
+ /**
+ * Let the stub for testsEchoStringEscapingParamName respond with HTTP status code [code].
+ *
+ * @param code the response code.
+ * @param body response body for the [MappingBuilder].
+ * @param configurer configurer for the [MappingBuilder], allowing for arbitrary changes.
+ * @return a [MappingBuilder] to be registered with a WireMock instance.
+ */
+ fun respondWith(
+ code: Int,
+ body: Any? = null,
+ configurer: ResponseDefinitionBuilder.() -> ResponseDefinitionBuilder = { this }
+ ): MappingBuilder =
+ stub.willReturn(aResponse()
+ .withStatus(code)
+ .apply {
+ body?.let {
+ withHeader("Content-Type", "application/json")
+ withBody(objectMapper.writeValueAsString(it))
+ }
+ }
+ .configurer()
+ )
+}
+
diff --git a/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubs.kt b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubs.kt
new file mode 100644
index 000000000000..e49d15cc9941
--- /dev/null
+++ b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/apis/EchoApiStubs.kt
@@ -0,0 +1,35 @@
+@file:Suppress(
+ "RemoveRedundantQualifierName",
+ "UnusedImport",
+ "unused",
+)
+
+package org.openapitools.apis
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.github.tomakehurst.wiremock.client.MappingBuilder
+import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder
+import com.github.tomakehurst.wiremock.client.WireMock.*
+import com.github.tomakehurst.wiremock.matching.StringValuePattern
+import org.openapitools.models.*
+
+/**
+ * WireMock stub request builder.
+ */
+open class EchoApiStubs(private val objectMapper: ObjectMapper) {
+
+ /**
+ * Construct a stub for the operation testsEchoStringEscapingParamName.
+ *
+ * @param dollarParamName path parameter dollarParamName pattern.
+ * @param filterDollarType query parameter filterDollarType pattern.
+ * @param configurer configurer for the [MappingBuilder], allowing for arbitrary changes.
+ * @return A [TestsEchoStringEscapingParamNameStubBuilder] to configure the response, and the final [MappingBuilder].
+ */
+ fun testsEchoStringEscapingParamName(dollarParamName: StringValuePattern, filterDollarType: StringValuePattern? = null, configurer: MappingBuilder.() -> MappingBuilder = { this }): TestsEchoStringEscapingParamNameStubBuilder =
+ TestsEchoStringEscapingParamNameStubBuilder(objectMapper, get(urlPathTemplate("/echo/string-escaping/{\$paramName}"))
+ .withPathParam("\$paramName", dollarParamName)
+ .apply { filterDollarType?.let { withQueryParam("filter\$Type", it) } }
+ .configurer()
+ )
+}
diff --git a/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/models/StringEscapingEdgeCases.kt b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/models/StringEscapingEdgeCases.kt
new file mode 100644
index 000000000000..15499fb02a19
--- /dev/null
+++ b/samples/server/echo_api/kotlin-wiremock/src/main/kotlin/org/openapitools/models/StringEscapingEdgeCases.kt
@@ -0,0 +1,17 @@
+@file:Suppress(
+ "RemoveRedundantQualifierName",
+ "unused",
+)
+
+package org.openapitools.models
+
+import com.fasterxml.jackson.annotation.JsonProperty
+
+data class StringEscapingEdgeCases(
+ @field:JsonProperty("dollarDefault")
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+
+ @field:JsonProperty("regularProp")
+ val regularProp: kotlin.String? = null,
+
+)
diff --git a/samples/server/petstore/kotlin-misk-config/.openapi-generator/FILES b/samples/server/petstore/kotlin-misk-config/.openapi-generator/FILES
index 594e5efd5ba2..9ef76d5d361c 100644
--- a/samples/server/petstore/kotlin-misk-config/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-misk-config/.openapi-generator/FILES
@@ -2,6 +2,7 @@ README.md
build.gradle.kts
docs/ApiResponse.md
docs/Category.md
+docs/EscapingEdgeCases.md
docs/Order.md
docs/Pet.md
docs/PetApi.md
@@ -15,6 +16,7 @@ src/main/kotlin/org/openapitools/server/api/api/PetStoreModule.kt
src/main/kotlin/org/openapitools/server/api/api/StoreApiAction.kt
src/main/kotlin/org/openapitools/server/api/api/UserApiAction.kt
src/main/kotlin/org/openapitools/server/api/model/Category.kt
+src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
src/main/kotlin/org/openapitools/server/api/model/ModelApiResponse.kt
src/main/kotlin/org/openapitools/server/api/model/Order.kt
src/main/kotlin/org/openapitools/server/api/model/Pet.kt
diff --git a/samples/server/petstore/kotlin-misk-config/README.md b/samples/server/petstore/kotlin-misk-config/README.md
index 8fc27a719a91..a681a02dae40 100644
--- a/samples/server/petstore/kotlin-misk-config/README.md
+++ b/samples/server/petstore/kotlin-misk-config/README.md
@@ -11,6 +11,7 @@
*PetApi* | [**deletePet**](Apis/docs/PetApi.md#deletepet) | **Delete** /pet/{petId} | Deletes a pet
*PetApi* | [**findPetsByStatus**](Apis/docs/PetApi.md#findpetsbystatus) | **Get** /pet/findByStatus | Finds Pets by status
*PetApi* | [**findPetsByTags**](Apis/docs/PetApi.md#findpetsbytags) | **Get** /pet/findByTags | Finds Pets by tags
+ *PetApi* | [**getEscapingEdgeCases**](Apis/docs/PetApi.md#getescapingedgecases) | **Get** /pet/escaping | Test escaping: $dollar, backslash \\ and quote \"
*PetApi* | [**getPetById**](Apis/docs/PetApi.md#getpetbyid) | **Get** /pet/{petId} | Find pet by ID
*PetApi* | [**updatePet**](Apis/docs/PetApi.md#updatepet) | **Put** /pet | Update an existing pet
*PetApi* | [**updatePetWithForm**](Apis/docs/PetApi.md#updatepetwithform) | **Post** /pet/{petId} | Updates a pet in the store with form data
@@ -33,6 +34,7 @@
## Documentation for Models
- [org.openapitools.server.api.model.Category](Models/docs/Category.md)
+ - [org.openapitools.server.api.model.EscapingEdgeCases](Models/docs/EscapingEdgeCases.md)
- [org.openapitools.server.api.model.ModelApiResponse](Models/docs/ModelApiResponse.md)
- [org.openapitools.server.api.model.Order](Models/docs/Order.md)
- [org.openapitools.server.api.model.Pet](Models/docs/Pet.md)
diff --git a/samples/server/petstore/kotlin-misk-config/docs/EscapingEdgeCases.md b/samples/server/petstore/kotlin-misk-config/docs/EscapingEdgeCases.md
new file mode 100644
index 000000000000..4ab2399cccc8
--- /dev/null
+++ b/samples/server/petstore/kotlin-misk-config/docs/EscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# EscapingEdgeCases
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional]
+**regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional]
+
+
+
diff --git a/samples/server/petstore/kotlin-misk-config/docs/PetApi.md b/samples/server/petstore/kotlin-misk-config/docs/PetApi.md
index 99dbe788edb0..5e073104a909 100644
--- a/samples/server/petstore/kotlin-misk-config/docs/PetApi.md
+++ b/samples/server/petstore/kotlin-misk-config/docs/PetApi.md
@@ -8,6 +8,7 @@ Method | HTTP request | Description
[**deletePet**](PetApi.md#deletePet) | **Delete** /pet/{petId} | Deletes a pet
[**findPetsByStatus**](PetApi.md#findPetsByStatus) | **Get** /pet/findByStatus | Finds Pets by status
[**findPetsByTags**](PetApi.md#findPetsByTags) | **Get** /pet/findByTags | Finds Pets by tags
+[**getEscapingEdgeCases**](PetApi.md#getEscapingEdgeCases) | **Get** /pet/escaping | Test escaping: \$dollar, backslash \\ and quote "
[**getPetById**](PetApi.md#getPetById) | **Get** /pet/{petId} | Find pet by ID
[**updatePet**](PetApi.md#updatePet) | **Put** /pet | Update an existing pet
[**updatePetWithForm**](PetApi.md#updatePetWithForm) | **Post** /pet/{petId} | Updates a pet in the store with form data
@@ -203,6 +204,49 @@ Name | Type | Description | Notes
- **Content-Type**: Not defined
- **Accept**: APPLICATION_XML, APPLICATION_JSON
+
+# **getEscapingEdgeCases**
+> EscapingEdgeCases getEscapingEdgeCases()
+
+Test escaping: \$dollar, backslash \\ and quote "
+
+Retrieves edge-cases for escaping: \$var, \\, ", */
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.infrastructure.*
+//import org.openapitools.server.api.model.*
+
+val apiInstance = PetApi()
+try {
+ val result : EscapingEdgeCases = apiInstance.getEscapingEdgeCases()
+ println(result)
+} catch (e: ClientException) {
+ println("4xx response calling PetApi#getEscapingEdgeCases")
+ e.printStackTrace()
+} catch (e: ServerException) {
+ println("5xx response calling PetApi#getEscapingEdgeCases")
+ e.printStackTrace()
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**EscapingEdgeCases**](EscapingEdgeCases.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: APPLICATION_JSON
+
# **getPetById**
> Pet getPetById(petId)
diff --git a/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt b/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
index f98d5a463e85..611c58b0c9e4 100644
--- a/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
+++ b/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
@@ -28,6 +28,7 @@ import misk.web.RequestHeader
import misk.web.Response
import misk.web.ResponseContentType
import misk.web.mediatype.MediaTypes
+import org.openapitools.server.api.model.EscapingEdgeCases
import org.openapitools.server.api.model.ModelApiResponse
import org.openapitools.server.api.model.Pet
@@ -83,6 +84,16 @@ class PetApiAction @Inject constructor(
TODO()
}
+ @Get("samplePrefix/pet/escaping")
+ @Description("Test escaping: \$dollar, backslash \\ and quote \"")
+ @ResponseContentType(MediaTypes.APPLICATION_JSON)
+ @LogRequestResponse(bodySampling = 1.0, errorBodySampling = 2.0)
+ @Suppress("unused")
+ fun getEscapingEdgeCases(
+ ): EscapingEdgeCases {
+ TODO()
+ }
+
@Get("samplePrefix/pet/{petId}")
@Description("Find pet by ID")
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
diff --git a/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt b/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
new file mode 100644
index 000000000000..bdc5d466d1e5
--- /dev/null
+++ b/samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
@@ -0,0 +1,11 @@
+package org.openapitools.server.api.model
+
+import com.squareup.moshi.JsonClass
+
+@JsonClass(generateAdapter = true)
+data class EscapingEdgeCases(
+ /** A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+ /** Regular property for baseline comparison */
+ val regularProp: kotlin.String? = null
+)
diff --git a/samples/server/petstore/kotlin-misk/.openapi-generator/FILES b/samples/server/petstore/kotlin-misk/.openapi-generator/FILES
index 594e5efd5ba2..9ef76d5d361c 100644
--- a/samples/server/petstore/kotlin-misk/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-misk/.openapi-generator/FILES
@@ -2,6 +2,7 @@ README.md
build.gradle.kts
docs/ApiResponse.md
docs/Category.md
+docs/EscapingEdgeCases.md
docs/Order.md
docs/Pet.md
docs/PetApi.md
@@ -15,6 +16,7 @@ src/main/kotlin/org/openapitools/server/api/api/PetStoreModule.kt
src/main/kotlin/org/openapitools/server/api/api/StoreApiAction.kt
src/main/kotlin/org/openapitools/server/api/api/UserApiAction.kt
src/main/kotlin/org/openapitools/server/api/model/Category.kt
+src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
src/main/kotlin/org/openapitools/server/api/model/ModelApiResponse.kt
src/main/kotlin/org/openapitools/server/api/model/Order.kt
src/main/kotlin/org/openapitools/server/api/model/Pet.kt
diff --git a/samples/server/petstore/kotlin-misk/README.md b/samples/server/petstore/kotlin-misk/README.md
index 8fc27a719a91..a681a02dae40 100644
--- a/samples/server/petstore/kotlin-misk/README.md
+++ b/samples/server/petstore/kotlin-misk/README.md
@@ -11,6 +11,7 @@
*PetApi* | [**deletePet**](Apis/docs/PetApi.md#deletepet) | **Delete** /pet/{petId} | Deletes a pet
*PetApi* | [**findPetsByStatus**](Apis/docs/PetApi.md#findpetsbystatus) | **Get** /pet/findByStatus | Finds Pets by status
*PetApi* | [**findPetsByTags**](Apis/docs/PetApi.md#findpetsbytags) | **Get** /pet/findByTags | Finds Pets by tags
+ *PetApi* | [**getEscapingEdgeCases**](Apis/docs/PetApi.md#getescapingedgecases) | **Get** /pet/escaping | Test escaping: $dollar, backslash \\ and quote \"
*PetApi* | [**getPetById**](Apis/docs/PetApi.md#getpetbyid) | **Get** /pet/{petId} | Find pet by ID
*PetApi* | [**updatePet**](Apis/docs/PetApi.md#updatepet) | **Put** /pet | Update an existing pet
*PetApi* | [**updatePetWithForm**](Apis/docs/PetApi.md#updatepetwithform) | **Post** /pet/{petId} | Updates a pet in the store with form data
@@ -33,6 +34,7 @@
## Documentation for Models
- [org.openapitools.server.api.model.Category](Models/docs/Category.md)
+ - [org.openapitools.server.api.model.EscapingEdgeCases](Models/docs/EscapingEdgeCases.md)
- [org.openapitools.server.api.model.ModelApiResponse](Models/docs/ModelApiResponse.md)
- [org.openapitools.server.api.model.Order](Models/docs/Order.md)
- [org.openapitools.server.api.model.Pet](Models/docs/Pet.md)
diff --git a/samples/server/petstore/kotlin-misk/docs/EscapingEdgeCases.md b/samples/server/petstore/kotlin-misk/docs/EscapingEdgeCases.md
new file mode 100644
index 000000000000..4ab2399cccc8
--- /dev/null
+++ b/samples/server/petstore/kotlin-misk/docs/EscapingEdgeCases.md
@@ -0,0 +1,11 @@
+
+# EscapingEdgeCases
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**dollarDefault** | **kotlin.String** | A string whose default has \$dollar, backslash \\, quote " and comment-close */ | [optional]
+**regularProp** | **kotlin.String** | Regular property for baseline comparison | [optional]
+
+
+
diff --git a/samples/server/petstore/kotlin-misk/docs/PetApi.md b/samples/server/petstore/kotlin-misk/docs/PetApi.md
index 99dbe788edb0..5e073104a909 100644
--- a/samples/server/petstore/kotlin-misk/docs/PetApi.md
+++ b/samples/server/petstore/kotlin-misk/docs/PetApi.md
@@ -8,6 +8,7 @@ Method | HTTP request | Description
[**deletePet**](PetApi.md#deletePet) | **Delete** /pet/{petId} | Deletes a pet
[**findPetsByStatus**](PetApi.md#findPetsByStatus) | **Get** /pet/findByStatus | Finds Pets by status
[**findPetsByTags**](PetApi.md#findPetsByTags) | **Get** /pet/findByTags | Finds Pets by tags
+[**getEscapingEdgeCases**](PetApi.md#getEscapingEdgeCases) | **Get** /pet/escaping | Test escaping: \$dollar, backslash \\ and quote "
[**getPetById**](PetApi.md#getPetById) | **Get** /pet/{petId} | Find pet by ID
[**updatePet**](PetApi.md#updatePet) | **Put** /pet | Update an existing pet
[**updatePetWithForm**](PetApi.md#updatePetWithForm) | **Post** /pet/{petId} | Updates a pet in the store with form data
@@ -203,6 +204,49 @@ Name | Type | Description | Notes
- **Content-Type**: Not defined
- **Accept**: APPLICATION_XML, APPLICATION_JSON
+
+# **getEscapingEdgeCases**
+> EscapingEdgeCases getEscapingEdgeCases()
+
+Test escaping: \$dollar, backslash \\ and quote "
+
+Retrieves edge-cases for escaping: \$var, \\, ", */
+
+### Example
+```kotlin
+// Import classes:
+//import org.openapitools.infrastructure.*
+//import org.openapitools.server.api.model.*
+
+val apiInstance = PetApi()
+try {
+ val result : EscapingEdgeCases = apiInstance.getEscapingEdgeCases()
+ println(result)
+} catch (e: ClientException) {
+ println("4xx response calling PetApi#getEscapingEdgeCases")
+ e.printStackTrace()
+} catch (e: ServerException) {
+ println("5xx response calling PetApi#getEscapingEdgeCases")
+ e.printStackTrace()
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+[**EscapingEdgeCases**](EscapingEdgeCases.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: APPLICATION_JSON
+
# **getPetById**
> Pet getPetById(petId)
diff --git a/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt b/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
index 1a8c806566d5..5c9e639ac479 100644
--- a/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
+++ b/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt
@@ -28,6 +28,7 @@ import misk.web.RequestHeader
import misk.web.Response
import misk.web.ResponseContentType
import misk.web.mediatype.MediaTypes
+import org.openapitools.server.api.model.EscapingEdgeCases
import org.openapitools.server.api.model.ModelApiResponse
import org.openapitools.server.api.model.Pet
@@ -79,6 +80,15 @@ class PetApiAction @Inject constructor(
TODO()
}
+ @Get("/pet/escaping")
+ @Description("Test escaping: \$dollar, backslash \\ and quote \"")
+ @ResponseContentType(MediaTypes.APPLICATION_JSON)
+ @LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
+ fun getEscapingEdgeCases(
+ ): EscapingEdgeCases {
+ TODO()
+ }
+
@Get("/pet/{petId}")
@Description("Find pet by ID")
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
diff --git a/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt b/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
new file mode 100644
index 000000000000..bdc5d466d1e5
--- /dev/null
+++ b/samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/model/EscapingEdgeCases.kt
@@ -0,0 +1,11 @@
+package org.openapitools.server.api.model
+
+import com.squareup.moshi.JsonClass
+
+@JsonClass(generateAdapter = true)
+data class EscapingEdgeCases(
+ /** A string whose default has $dollar, backslash \\, quote \" and comment-close *_/ */
+ val dollarDefault: kotlin.String? = "hello \$world, backslash=\\, quote=\", end */",
+ /** Regular property for baseline comparison */
+ val regularProp: kotlin.String? = null
+)
diff --git a/samples/server/petstore/kotlin-spring-default/.openapi-generator/FILES b/samples/server/petstore/kotlin-spring-default/.openapi-generator/FILES
index 98932e549209..6000fcacc452 100644
--- a/samples/server/petstore/kotlin-spring-default/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-spring-default/.openapi-generator/FILES
@@ -22,6 +22,7 @@ src/main/kotlin/org/openapitools/model/Category.kt
src/main/kotlin/org/openapitools/model/ModelApiResponse.kt
src/main/kotlin/org/openapitools/model/Order.kt
src/main/kotlin/org/openapitools/model/Pet.kt
+src/main/kotlin/org/openapitools/model/PetWithSpecialProps.kt
src/main/kotlin/org/openapitools/model/Tag.kt
src/main/kotlin/org/openapitools/model/User.kt
src/main/kotlin/org/openapitools/model/UserOrPet.kt
diff --git a/samples/server/petstore/kotlin-spring-default/src/main/kotlin/org/openapitools/model/PetWithSpecialProps.kt b/samples/server/petstore/kotlin-spring-default/src/main/kotlin/org/openapitools/model/PetWithSpecialProps.kt
new file mode 100644
index 000000000000..39a4dba2dd86
--- /dev/null
+++ b/samples/server/petstore/kotlin-spring-default/src/main/kotlin/org/openapitools/model/PetWithSpecialProps.kt
@@ -0,0 +1,31 @@
+package org.openapitools.model
+
+import java.util.Objects
+import com.fasterxml.jackson.annotation.JsonProperty
+import javax.validation.constraints.DecimalMax
+import javax.validation.constraints.DecimalMin
+import javax.validation.constraints.Email
+import javax.validation.constraints.Max
+import javax.validation.constraints.Min
+import javax.validation.constraints.NotNull
+import javax.validation.constraints.Pattern
+import javax.validation.constraints.Size
+import javax.validation.Valid
+import io.swagger.v3.oas.annotations.media.Schema
+
+/**
+ * Model with $-prefixed property names for escaping tests (Issue 20502)
+ * @param dollarId Property with $-prefix in name; default has $dollar and backslash \\
+ * @param nameDollarSuffix Property with $ mid-name; description has backslash \\ and quote \"
+ */
+data class PetWithSpecialProps(
+
+ @Schema(example = "null", description = "Property with \$-prefix in name; default has \$dollar and backslash \\")
+ @get:JsonProperty("\$id") val dollarId: kotlin.String? = "hello \$world",
+
+ @Schema(example = "null", description = "Property with \$ mid-name; description has backslash \\ and quote \"")
+ @get:JsonProperty("name\$Suffix") val nameDollarSuffix: kotlin.String? = null
+) {
+
+}
+
diff --git a/samples/server/petstore/kotlin-spring-default/src/main/resources/openapi.yaml b/samples/server/petstore/kotlin-spring-default/src/main/resources/openapi.yaml
index 1f2e34812c4b..cba7c9c31e12 100644
--- a/samples/server/petstore/kotlin-spring-default/src/main/resources/openapi.yaml
+++ b/samples/server/petstore/kotlin-spring-default/src/main/resources/openapi.yaml
@@ -856,6 +856,20 @@ components:
- items:
type: string
type: array
+ PetWithSpecialProps:
+ description: Model with $-prefixed property names for escaping tests (Issue
+ 20502)
+ properties:
+ $id:
+ default: hello $world
+ description: Property with $-prefix in name; default has $dollar and backslash
+ \
+ type: string
+ name$Suffix:
+ description: Property with $ mid-name; description has backslash \ and quote
+ "
+ type: string
+ type: object
updatePetWithForm_request:
properties:
name:
From 67ee557a13a5fbf97668ffa54ea6bdd8e6c8bc2c Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Tue, 28 Apr 2026 00:20:37 +0200
Subject: [PATCH 4/9] fix: update parameter tables to ensure consistent
formatting across API documentation
---
.../languages/KotlinClientCodegen.java | 20 +++++++++++++++++++
.../resources/kotlin-client/api_doc.mustache | 4 ++--
.../libraries/jvm-retrofit2/api_doc.mustache | 4 ++--
.../infrastructure/ApiClient.kt.mustache | 17 +---------------
.../jvm-retrofit2/pathParams.mustache | 2 +-
.../libraries/jvm-volley/api_doc.mustache | 4 ++--
.../kotlin-jvm-okhttp/docs/EchoApi.md | 2 +-
.../kotlin-jvm-okhttp/docs/FormApi.md | 8 ++++----
.../kotlin-jvm-okhttp/docs/HeaderApi.md | 4 ++--
.../kotlin-jvm-okhttp/docs/PathApi.md | 4 ++--
.../kotlin-jvm-okhttp/docs/QueryApi.md | 10 +++++-----
.../docs/EchoApi.md | 2 +-
.../docs/FormApi.md | 8 ++++----
.../docs/HeaderApi.md | 4 ++--
.../docs/PathApi.md | 4 ++--
.../docs/QueryApi.md | 10 +++++-----
.../docs/EchoApi.md | 2 +-
.../docs/FormApi.md | 8 ++++----
.../docs/HeaderApi.md | 4 ++--
.../docs/PathApi.md | 4 ++--
.../docs/QueryApi.md | 10 +++++-----
.../README.md | 2 +-
.../docs/EchoApi.md | 4 ++--
.../docs/FormApi.md | 8 ++++----
.../docs/HeaderApi.md | 4 ++--
.../docs/PathApi.md | 4 ++--
.../docs/QueryApi.md | 10 +++++-----
.../org/openapitools/client/apis/EchoApi.kt | 6 +++---
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/DefaultApi.md | 4 ++--
.../docs/BirdApi.md | 2 +-
.../docs/DefaultApi.md | 4 ++--
.../docs/DefaultApi.md | 4 ++--
.../docs/DefaultApi.md | 4 ++--
.../petstore/kotlin-explicit/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-explicit/docs/UserApi.md | 4 ++--
.../petstore/kotlin-gson/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-gson/docs/UserApi.md | 4 ++--
.../petstore/kotlin-jackson/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-jackson/docs/UserApi.md | 4 ++--
.../kotlin-json-request-string/docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../kotlin-jvm-jackson/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-jackson/docs/UserApi.md | 4 ++--
.../kotlin-jvm-ktor-gson/docs/FakeApi.md | 4 ++--
.../kotlin-jvm-ktor-gson/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-ktor-gson/docs/UserApi.md | 4 ++--
.../kotlin-jvm-ktor-jackson/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-ktor-jackson/docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../kotlin-jvm-vertx-gson/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-vertx-gson/docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../kotlin-jvm-vertx-jackson/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-vertx-jackson/docs/UserApi.md | 4 ++--
.../kotlin-jvm-vertx-moshi/docs/PetApi.md | 10 +++++-----
.../kotlin-jvm-vertx-moshi/docs/UserApi.md | 4 ++--
.../kotlin-kotlinx-datetime/docs/PetApi.md | 10 +++++-----
.../kotlin-kotlinx-datetime/docs/UserApi.md | 4 ++--
.../docs/FakeApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../client/infrastructure/ApiClient.kt | 14 +------------
.../kotlin-modelMutable/docs/PetApi.md | 10 +++++-----
.../kotlin-modelMutable/docs/UserApi.md | 4 ++--
.../kotlin-moshi-codegen/docs/PetApi.md | 10 +++++-----
.../kotlin-moshi-codegen/docs/UserApi.md | 4 ++--
.../docs/BirdApi.md | 2 +-
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../kotlin-multiplatform/docs/PetApi.md | 10 +++++-----
.../kotlin-multiplatform/docs/UserApi.md | 4 ++--
.../docs/FakeApi.md | 4 ++--
.../petstore/kotlin-nonpublic/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-nonpublic/docs/UserApi.md | 4 ++--
.../petstore/kotlin-nullable/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-nullable/docs/UserApi.md | 4 ++--
.../kotlin-retrofit2-jackson/docs/PetApi.md | 10 +++++-----
.../kotlin-retrofit2-jackson/docs/UserApi.md | 4 ++--
.../docs/PetApi.md | 10 +++++-----
.../docs/UserApi.md | 4 ++--
.../kotlin-retrofit2-rx3/docs/PetApi.md | 10 +++++-----
.../kotlin-retrofit2-rx3/docs/UserApi.md | 4 ++--
.../petstore/kotlin-retrofit2/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-retrofit2/docs/UserApi.md | 4 ++--
.../petstore/kotlin-string/docs/PetApi.md | 10 +++++-----
.../petstore/kotlin-string/docs/UserApi.md | 4 ++--
.../petstore/kotlin-threetenbp/docs/PetApi.md | 10 +++++-----
.../kotlin-threetenbp/docs/UserApi.md | 4 ++--
samples/client/petstore/kotlin/docs/PetApi.md | 10 +++++-----
.../client/petstore/kotlin/docs/UserApi.md | 4 ++--
104 files changed, 337 insertions(+), 344 deletions(-)
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
index fe2407cd128c..4c3290408540 100755
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
@@ -1062,6 +1062,26 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List
- ) : this(baseUrl, okHttpClientBuilder{{^kotlinx_serialization}}, serializerBuilder{{/kotlinx_serialization}}) {
+ ) : this(baseUrl, okHttpClientBuilder{{^kotlinx_serialization}}, {{#generateOneOfAnyOfWrappers}}{{#gson}}registerTypeAdapterFactoryForAllModels(serializerBuilder){{/gson}}{{^gson}}serializerBuilder{{/gson}}{{/generateOneOfAnyOfWrappers}}{{^generateOneOfAnyOfWrappers}}serializerBuilder{{/generateOneOfAnyOfWrappers}}{{/kotlinx_serialization}}) {
authNames.forEach { authName ->
val auth: Interceptor? = when (authName) { {{#authMethods}}
{{#isBasicBasic}}"{{name}}" -> HttpBasicAuth()
@@ -148,21 +148,6 @@ import okhttp3.MediaType.Companion.toMediaType
addAuthorization(authName, auth)
}
}
- {{#generateOneOfAnyOfWrappers}}
- {{^kotlinx_serialization}}
- {{#gson}}
- {{#models}}
- {{#model}}
- {{^isEnum}}
- {{^hasChildren}}
- serializerBuilder.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
- {{/hasChildren}}
- {{/isEnum}}
- {{/model}}
- {{/models}}
- {{/gson}}
- {{/kotlinx_serialization}}
- {{/generateOneOfAnyOfWrappers}}
}
{{#authMethods}}
diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/pathParams.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/pathParams.mustache
index 5fa650b7934c..d5953158c7ee 100644
--- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/pathParams.mustache
+++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/pathParams.mustache
@@ -1 +1 @@
-{{#isPathParam}}@Path("{{#lambda.escapeInNormalString}}{{baseName}}{{/lambda.escapeInNormalString}}") {{{paramName}}}: {{{dataType}}}{{#required}}{{#defaultValue}} = {{^isNumber}}{{#isString}}{{^allowableValues}}"{{#lambda.escapeInNormalString}}{{{unescapedDefaultValue}}}{{/lambda.escapeInNormalString}}"{{/allowableValues}}{{#allowableValues}}{{{defaultValue}}}{{/allowableValues}}{{/isString}}{{^isString}}{{{defaultValue}}}{{/isString}}{{/isNumber}}{{#isNumber}}{{{dataType}}}("{{{defaultValue}}}"){{/isNumber}}{{/defaultValue}}{{/required}}{{^required}}?{{#defaultValue}} = {{^isNumber}}{{#isString}}{{^allowableValues}}"{{#lambda.escapeInNormalString}}{{{unescapedDefaultValue}}}{{/lambda.escapeInNormalString}}"{{/allowableValues}}{{#allowableValues}}{{{defaultValue}}}{{/allowableValues}}{{/isString}}{{^isString}}{{{defaultValue}}}{{/isString}}{{/isNumber}}{{#isNumber}}{{{dataType}}}("{{{defaultValue}}}"){{/isNumber}}{{/defaultValue}}{{^defaultValue}} = null{{/defaultValue}}{{/required}}{{/isPathParam}}
\ No newline at end of file
+{{#isPathParam}}@Path("{{{vendorExtensions.x-retrofit-path-name}}}") {{{paramName}}}: {{{dataType}}}{{#required}}{{#defaultValue}} = {{^isNumber}}{{#isString}}{{^allowableValues}}"{{#lambda.escapeInNormalString}}{{{unescapedDefaultValue}}}{{/lambda.escapeInNormalString}}"{{/allowableValues}}{{#allowableValues}}{{{defaultValue}}}{{/allowableValues}}{{/isString}}{{^isString}}{{{defaultValue}}}{{/isString}}{{/isNumber}}{{#isNumber}}{{{dataType}}}("{{{defaultValue}}}"){{/isNumber}}{{/defaultValue}}{{/required}}{{^required}}?{{#defaultValue}} = {{^isNumber}}{{#isString}}{{^allowableValues}}"{{#lambda.escapeInNormalString}}{{{unescapedDefaultValue}}}{{/lambda.escapeInNormalString}}"{{/allowableValues}}{{#allowableValues}}{{{defaultValue}}}{{/allowableValues}}{{/isString}}{{^isString}}{{{defaultValue}}}{{/isString}}{{/isNumber}}{{#isNumber}}{{{dataType}}}("{{{defaultValue}}}"){{/isNumber}}{{/defaultValue}}{{^defaultValue}} = null{{/defaultValue}}{{/required}}{{/isPathParam}}
\ No newline at end of file
diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-volley/api_doc.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-volley/api_doc.mustache
index 17913fd3b466..0880f411d23d 100644
--- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-volley/api_doc.mustache
+++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-volley/api_doc.mustache
@@ -48,9 +48,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
+{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-first}}
Name | Type | Description | Notes
-------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
+------------- | ------------- | ------------- | -------------{{/-first}}{{/allParams}}
{{#allParams}} **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}{{#generateModelDocs}}[**{{dataType}}**]({{baseType}}.md){{/generateModelDocs}}{{^generateModelDocs}}**{{dataType}}**{{/generateModelDocs}}{{/isFile}}{{/isPrimitiveType}}| {{#lambda.escapeMarkdown}}{{{unescapedDescription}}}{{/lambda.escapeMarkdown}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{{defaultValue}}}]{{/defaultValue}}{{#allowableValues}} [enum: {{#values}}{{#lambda.escapeMarkdown}}{{{.}}}{{/lambda.escapeMarkdown}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}}
{{/allParams}}
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
index 9e1e3f20d7a9..99314ea19281 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/EchoApi.md
@@ -37,9 +37,9 @@ try {
```
### Parameters
-| **dollarParamName** | **kotlin.String**| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **dollarParamName** | **kotlin.String**| | |
| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/FormApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/FormApi.md
index 5d229c127758..79e5916a75f8 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/docs/FormApi.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/FormApi.md
@@ -39,10 +39,10 @@ try {
```
### Parameters
-| **integerForm** | **kotlin.Int**| | [optional] |
-| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerForm** | **kotlin.Int**| | [optional] |
+| **booleanForm** | **kotlin.Boolean**| | [optional] |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@@ -92,13 +92,13 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/HeaderApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/HeaderApi.md
index 0d48e224e7c7..86fcea88eab3 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/docs/HeaderApi.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/HeaderApi.md
@@ -40,12 +40,12 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/PathApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/PathApi.md
index e2445c0bc23a..355eeed26b0f 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/docs/PathApi.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/PathApi.md
@@ -39,11 +39,11 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**ApiStringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-okhttp/docs/QueryApi.md b/samples/client/echo_api/kotlin-jvm-okhttp/docs/QueryApi.md
index 20b2a4d282a7..e816f6c18a1a 100644
--- a/samples/client/echo_api/kotlin-jvm-okhttp/docs/QueryApi.md
+++ b/samples/client/echo_api/kotlin-jvm-okhttp/docs/QueryApi.md
@@ -42,9 +42,9 @@ try {
```
### Parameters
-| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| **enumRefStringQuery** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@@ -91,10 +91,10 @@ try {
```
### Parameters
-| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
-| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
+| **dateQuery** | **java.time.LocalDate**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@@ -141,10 +141,10 @@ try {
```
### Parameters
-| **integerQuery** | **kotlin.Int**| | [optional] |
-| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerQuery** | **kotlin.Int**| | [optional] |
+| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
index 9e1e3f20d7a9..99314ea19281 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/EchoApi.md
@@ -37,9 +37,9 @@ try {
```
### Parameters
-| **dollarParamName** | **kotlin.String**| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **dollarParamName** | **kotlin.String**| | |
| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/FormApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/FormApi.md
index 5d229c127758..79e5916a75f8 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/FormApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/FormApi.md
@@ -39,10 +39,10 @@ try {
```
### Parameters
-| **integerForm** | **kotlin.Int**| | [optional] |
-| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerForm** | **kotlin.Int**| | [optional] |
+| **booleanForm** | **kotlin.Boolean**| | [optional] |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@@ -92,13 +92,13 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/HeaderApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/HeaderApi.md
index 8a1687ff9901..b8dd0f382c12 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/HeaderApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/HeaderApi.md
@@ -40,12 +40,12 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/PathApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/PathApi.md
index d2e44d75aba6..8c5cbcbbec16 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/PathApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/PathApi.md
@@ -39,11 +39,11 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/QueryApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/QueryApi.md
index 3ac1823f5d70..1d29efac53f9 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/QueryApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-restclient/docs/QueryApi.md
@@ -42,9 +42,9 @@ try {
```
### Parameters
-| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| **enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@@ -91,10 +91,10 @@ try {
```
### Parameters
-| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
-| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
+| **dateQuery** | **java.time.LocalDate**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@@ -141,10 +141,10 @@ try {
```
### Parameters
-| **integerQuery** | **kotlin.Int**| | [optional] |
-| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerQuery** | **kotlin.Int**| | [optional] |
+| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
index 9e1e3f20d7a9..99314ea19281 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/EchoApi.md
@@ -37,9 +37,9 @@ try {
```
### Parameters
-| **dollarParamName** | **kotlin.String**| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **dollarParamName** | **kotlin.String**| | |
| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/FormApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/FormApi.md
index 5d229c127758..79e5916a75f8 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/FormApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/FormApi.md
@@ -39,10 +39,10 @@ try {
```
### Parameters
-| **integerForm** | **kotlin.Int**| | [optional] |
-| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerForm** | **kotlin.Int**| | [optional] |
+| **booleanForm** | **kotlin.Boolean**| | [optional] |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@@ -92,13 +92,13 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/HeaderApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/HeaderApi.md
index 8a1687ff9901..b8dd0f382c12 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/HeaderApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/HeaderApi.md
@@ -40,12 +40,12 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/PathApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/PathApi.md
index d2e44d75aba6..8c5cbcbbec16 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/PathApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/PathApi.md
@@ -39,11 +39,11 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/QueryApi.md b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/QueryApi.md
index 3ac1823f5d70..1d29efac53f9 100644
--- a/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/QueryApi.md
+++ b/samples/client/echo_api/kotlin-jvm-spring-3-webclient/docs/QueryApi.md
@@ -42,9 +42,9 @@ try {
```
### Parameters
-| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| **enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@@ -91,10 +91,10 @@ try {
```
### Parameters
-| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
-| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
+| **dateQuery** | **java.time.LocalDate**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@@ -141,10 +141,10 @@ try {
```
### Parameters
-| **integerQuery** | **kotlin.Int**| | [optional] |
-| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerQuery** | **kotlin.Int**| | [optional] |
+| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
index f6397b984546..04c5c4ef9e44 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/README.md
@@ -55,7 +55,7 @@ All URIs are relative to *http://localhost:3000*
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** echo/body/Tag/response_string | Test empty json (request body) |
-| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** echo/string-escaping/{$paramName} | Test $-in-path-param escaping |
+| *EchoApi* | [**testsEchoStringEscapingParamName**](docs/EchoApi.md#testsechostringescapingparamname) | **GET** echo/string-escaping/{dollarParamName} | Test $-in-path-param escaping |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** header/integer/boolean/string/enums | Test header parameter(s) |
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
index d2d562c90c52..0a697932dad3 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/EchoApi.md
@@ -4,7 +4,7 @@ All URIs are relative to *http://localhost:3000*
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
-| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** echo/string-escaping/{$paramName} | Test \$-in-path-param escaping |
+| [**testsEchoStringEscapingParamName**](EchoApi.md#testsEchoStringEscapingParamName) | **GET** echo/string-escaping/{dollarParamName} | Test \$-in-path-param escaping |
@@ -30,9 +30,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **dollarParamName** | **kotlin.String**| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **dollarParamName** | **kotlin.String**| | |
| **filterDollarType** | **kotlin.String**| Filter with \$dollar in description and comment-close */ | [optional] [default to "default\$Value with \\\\ and \\""] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/FormApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/FormApi.md
index fbc8495e9d05..04748ea34458 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/FormApi.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/FormApi.md
@@ -32,10 +32,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **integerForm** | **kotlin.Int**| | [optional] |
-| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerForm** | **kotlin.Int**| | [optional] |
+| **booleanForm** | **kotlin.Boolean**| | [optional] |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@@ -78,13 +78,13 @@ launch(Dispatchers.IO) {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/HeaderApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/HeaderApi.md
index bb03570a9501..87ef60eb823d 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/HeaderApi.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/HeaderApi.md
@@ -33,12 +33,12 @@ launch(Dispatchers.IO) {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/PathApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/PathApi.md
index c3ca570ecc2b..8e922e102e9c 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/PathApi.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/PathApi.md
@@ -32,11 +32,11 @@ launch(Dispatchers.IO) {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**ApiStringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/QueryApi.md b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/QueryApi.md
index a2714d03fa80..52646b1dc1eb 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/QueryApi.md
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/docs/QueryApi.md
@@ -35,9 +35,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| **enumRefStringQuery** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@@ -77,10 +77,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
-| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
+| **dateQuery** | **java.time.LocalDate**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@@ -120,10 +120,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **integerQuery** | **kotlin.Int**| | [optional] |
-| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **integerQuery** | **kotlin.Int**| | [optional] |
+| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
diff --git a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
index 81e9ebf9525b..db02fc13f7f6 100644
--- a/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
+++ b/samples/client/echo_api/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/apis/EchoApi.kt
@@ -9,7 +9,7 @@ import com.google.gson.annotations.SerializedName
interface EchoApi {
/**
- * GET echo/string-escaping/{$paramName}
+ * GET echo/string-escaping/{dollarParamName}
* Test $-in-path-param escaping
* Tests that path params with $dollar, backslash \\ and quote \" are properly escaped
* Responses:
@@ -19,7 +19,7 @@ interface EchoApi {
* @param filterDollarType Filter with $dollar in description and comment-close *_/ (optional, default to "default\$Value with \\\\ and \\"")
* @return [kotlin.String]
*/
- @GET("echo/string-escaping/{\$paramName}")
- suspend fun testsEchoStringEscapingParamName(@Path("\$paramName") dollarParamName: kotlin.String, @Query("filter\$Type") filterDollarType: kotlin.String? = "default\$Value with \\ and \""): Response
+ @GET("echo/string-escaping/{dollarParamName}")
+ suspend fun testsEchoStringEscapingParamName(@Path("dollarParamName") dollarParamName: kotlin.String, @Query("filter\$Type") filterDollarType: kotlin.String? = "default\$Value with \\ and \""): Response
}
diff --git a/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/PetApi.md b/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/PetApi.md
index e0bf879c9a65..b063e869b3ff 100644
--- a/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/PetApi.md
+++ b/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/UserApi.md b/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/UserApi.md
index fb5bfa6c7a44..1a61b0b068ac 100644
--- a/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/UserApi.md
+++ b/samples/client/others/kotlin-jvm-okhttp-non-ascii-headers/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/others/kotlin-jvm-okhttp-parameter-tests/docs/DefaultApi.md b/samples/client/others/kotlin-jvm-okhttp-parameter-tests/docs/DefaultApi.md
index 12f8d8dc7f6b..b1c17358b519 100644
--- a/samples/client/others/kotlin-jvm-okhttp-parameter-tests/docs/DefaultApi.md
+++ b/samples/client/others/kotlin-jvm-okhttp-parameter-tests/docs/DefaultApi.md
@@ -49,6 +49,8 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pathDefault** | **kotlin.String**| path default | |
| **pathNullable** | **kotlin.String**| path_nullable | |
| **queryDefault** | **kotlin.String**| query default | [optional] [default to "available"] |
@@ -63,8 +65,6 @@ try {
| **queryNullable** | **kotlin.String**| query nullable | [optional] |
| **headerNullable** | **kotlin.String**| header nullable | [optional] |
| **cookieNullable** | **kotlin.String**| cookie_nullable | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **dollarQueryDollarDollarSign** | **kotlin.String**| query parameter with dollar sign | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/docs/BirdApi.md b/samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/docs/BirdApi.md
index 4422300d940d..af8ca0eb3dea 100644
--- a/samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/docs/BirdApi.md
+++ b/samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization/docs/BirdApi.md
@@ -80,9 +80,9 @@ try {
```
### Parameters
-| **metadata** | [**Bird**](Bird.md)| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **metadata** | [**Bird**](Bird.md)| | |
| **file** | **java.io.File**| | |
### Return type
diff --git a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
index a9ad176c2c38..442d6798bc70 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-okhttp4/docs/DefaultApi.md
@@ -64,6 +64,8 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pi0** | **kotlin.Int**| | [default to 10] |
| **pi1** | **kotlin.Int**| | |
| **pn0** | **java.math.BigDecimal**| | [default to 10.0] |
@@ -93,8 +95,6 @@ try {
| **fn1** | **java.math.BigDecimal**| | [default to 71.0] |
| **fn2** | **java.math.BigDecimal**| | [optional] |
| **fn3** | **java.math.BigDecimal**| | |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **fn4** | [**kotlin.collections.List<kotlin.String>**](kotlin.String.md)| | |
### Return type
diff --git a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
index 0493b38d4809..5b119a710fc3 100644
--- a/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-jvm-retrofit2/docs/DefaultApi.md
@@ -56,6 +56,8 @@ webService.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0,
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pi0** | **kotlin.Int**| | [default to 10] |
| **pi1** | **kotlin.Int**| | |
| **pn0** | **java.math.BigDecimal**| | [default to 10.0] |
@@ -85,8 +87,6 @@ webService.test(pi0, pi1, pn0, pn1, qi0, qi1, qi2, qi3, qn0, qn1, qn2, qn3, hi0,
| **fn1** | **java.math.BigDecimal**| | [default to 71.0] |
| **fn2** | **java.math.BigDecimal**| | [optional] |
| **fn3** | **java.math.BigDecimal**| | |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **fn4** | [**kotlin.collections.List<kotlin.String>**](kotlin.String.md)| | |
### Return type
diff --git a/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md b/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
index c2fb4914e534..2584fbcfb8b9 100644
--- a/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
+++ b/samples/client/petstore/kotlin-default-values-multiplatform/docs/DefaultApi.md
@@ -64,6 +64,8 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **pi0** | **kotlin.Int**| | [default to 10] |
| **pi1** | **kotlin.Int**| | |
| **pn0** | **kotlin.Double**| | [default to 10.0] |
@@ -93,8 +95,6 @@ try {
| **fn1** | **kotlin.Double**| | [default to 71.0] |
| **fn2** | **kotlin.Double**| | [optional] |
| **fn3** | **kotlin.Double**| | |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **fn4** | [**kotlin.collections.List<kotlin.String>**](kotlin.String.md)| | |
### Return type
diff --git a/samples/client/petstore/kotlin-explicit/docs/PetApi.md b/samples/client/petstore/kotlin-explicit/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-explicit/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-explicit/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-explicit/docs/UserApi.md b/samples/client/petstore/kotlin-explicit/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-explicit/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-explicit/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-gson/docs/PetApi.md b/samples/client/petstore/kotlin-gson/docs/PetApi.md
index e0bf879c9a65..b063e869b3ff 100644
--- a/samples/client/petstore/kotlin-gson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-gson/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-gson/docs/UserApi.md b/samples/client/petstore/kotlin-gson/docs/UserApi.md
index fb5bfa6c7a44..1a61b0b068ac 100644
--- a/samples/client/petstore/kotlin-gson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-gson/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jackson/docs/PetApi.md b/samples/client/petstore/kotlin-jackson/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-jackson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jackson/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jackson/docs/UserApi.md b/samples/client/petstore/kotlin-jackson/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-jackson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jackson/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-json-request-string/docs/PetApi.md b/samples/client/petstore/kotlin-json-request-string/docs/PetApi.md
index 318ca7c9e1e9..fac865b313fa 100644
--- a/samples/client/petstore/kotlin-json-request-string/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-json-request-string/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -322,10 +322,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -372,10 +372,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-json-request-string/docs/UserApi.md b/samples/client/petstore/kotlin-json-request-string/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-json-request-string/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-json-request-string/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-jackson/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-jackson/docs/PetApi.md
index 01ad4cac6196..4cfaaaa72a8d 100644
--- a/samples/client/petstore/kotlin-jvm-jackson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-jackson/docs/PetApi.md
@@ -72,9 +72,9 @@ webService.deletePet(petId, apiKey)
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -260,10 +260,10 @@ webService.updatePetWithForm(petId, name, status)
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -301,10 +301,10 @@ val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata,
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-jackson/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-jackson/docs/UserApi.md
index 20a1ac7703b4..040d8c29ebd7 100644
--- a/samples/client/petstore/kotlin-jvm-jackson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-jackson/docs/UserApi.md
@@ -220,9 +220,9 @@ val result : kotlin.String = webService.loginUser(username, password)
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -293,9 +293,9 @@ webService.updateUser(username, user)
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/FakeApi.md b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/FakeApi.md
index 5d6e47a6f2b3..1feb66aa8768 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/FakeApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/FakeApi.md
@@ -82,11 +82,11 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.Int**| integer type | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **status2** | **java.math.BigDecimal**| number type | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetApi.md
index 0a13a8fa8ce3..4a37a0f36320 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-gson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-gson/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/PetApi.md
index 0b928e328e60..7ff44b2b42e1 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/UserApi.md
index 6a4403972b4d..65848260626b 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-jackson/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/PetApi.md
index 0a13a8fa8ce3..4a37a0f36320 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/PetApi.md
index bf8668b04061..88589011a3df 100644
--- a/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/PetApi.md
@@ -76,9 +76,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -274,10 +274,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -317,10 +317,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/UserApi.md
index 063d54bbcb50..f0d2e229efb3 100644
--- a/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-retrofit2-coroutines/docs/UserApi.md
@@ -232,9 +232,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -309,9 +309,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-2-webclient/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-3-restclient/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-spring-3-webclient/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-gson/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-vertx-gson/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-gson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-gson/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-gson/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-vertx-gson/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-gson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-gson/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-jackson-coroutines/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-jackson/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/PetApi.md b/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/PetApi.md
index 9eb15f0e7013..44ddf2bd9f44 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/PetApi.md
@@ -91,9 +91,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -334,10 +334,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -386,10 +386,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/UserApi.md b/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/UserApi.md
index 055b9506b4d2..2f6624a3e34a 100644
--- a/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-jvm-vertx-moshi/docs/UserApi.md
@@ -282,9 +282,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -374,9 +374,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-kotlinx-datetime/docs/PetApi.md b/samples/client/petstore/kotlin-kotlinx-datetime/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-kotlinx-datetime/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-kotlinx-datetime/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-kotlinx-datetime/docs/UserApi.md b/samples/client/petstore/kotlin-kotlinx-datetime/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-kotlinx-datetime/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-kotlinx-datetime/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/FakeApi.md b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/FakeApi.md
index 86d58dbcdbff..f536bc0e9216 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/FakeApi.md
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/FakeApi.md
@@ -70,11 +70,11 @@ launch(Dispatchers.IO) {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.Int**| integer type | [optional] |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **status2** | **java.math.BigDecimal**| number type | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetApi.md b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetApi.md
index 39e16a953bc5..b6be418a6da2 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/PetApi.md
@@ -76,9 +76,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -274,10 +274,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -317,10 +317,10 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **RequestBody**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/UserApi.md b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/UserApi.md
index 758eb5efcedd..9e2abc50e558 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/docs/UserApi.md
@@ -232,9 +232,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -309,9 +309,9 @@ launch(Dispatchers.IO) {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **apiUser** | [**ApiUser**](ApiUser.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 291e760063a9..61812e3b4a54 100644
--- a/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-model-prefix-type-mappings/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -71,7 +71,7 @@ class ApiClient(
okHttpClientBuilder: OkHttpClient.Builder? = null,
serializerBuilder: GsonBuilder = Serializer.gsonBuilder,
authNames: Array
- ) : this(baseUrl, okHttpClientBuilder, serializerBuilder) {
+ ) : this(baseUrl, okHttpClientBuilder, registerTypeAdapterFactoryForAllModels(serializerBuilder)) {
authNames.forEach { authName ->
val auth: Interceptor? = when (authName) {
"petstore_auth" -> OAuth(OAuthFlow.implicit, "http://petstore.swagger.io/api/oauth/dialog", "", "write:pets, read:pets")
@@ -84,18 +84,6 @@ class ApiClient(
addAuthorization(authName, auth)
}
}
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnnotation.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnyOfUserOrPet.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiAnyOfUserOrPetOrArrayString.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiApiResponse.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiCategory.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiOrder.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPet.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiPetWithSpecialProps.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiTag.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUser.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPet.CustomTypeAdapterFactory())
- serializerBuilder.registerTypeAdapterFactory(org.openapitools.client.models.ApiUserOrPetOrArrayString.CustomTypeAdapterFactory())
}
constructor(
diff --git a/samples/client/petstore/kotlin-modelMutable/docs/PetApi.md b/samples/client/petstore/kotlin-modelMutable/docs/PetApi.md
index e385754514fb..bf37d588f62e 100644
--- a/samples/client/petstore/kotlin-modelMutable/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-modelMutable/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-modelMutable/docs/UserApi.md b/samples/client/petstore/kotlin-modelMutable/docs/UserApi.md
index b13c0b7f4d78..7ea8319001e9 100644
--- a/samples/client/petstore/kotlin-modelMutable/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-modelMutable/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-moshi-codegen/docs/PetApi.md b/samples/client/petstore/kotlin-moshi-codegen/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-moshi-codegen/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-moshi-codegen/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-moshi-codegen/docs/UserApi.md b/samples/client/petstore/kotlin-moshi-codegen/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-moshi-codegen/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-moshi-codegen/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-multiplatform-allOf-discriminator/docs/BirdApi.md b/samples/client/petstore/kotlin-multiplatform-allOf-discriminator/docs/BirdApi.md
index af920447b8c4..0a62db6b1bf2 100644
--- a/samples/client/petstore/kotlin-multiplatform-allOf-discriminator/docs/BirdApi.md
+++ b/samples/client/petstore/kotlin-multiplatform-allOf-discriminator/docs/BirdApi.md
@@ -80,9 +80,9 @@ try {
```
### Parameters
-| **metadata** | [**Bird**](Bird.md)| | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **metadata** | [**Bird**](Bird.md)| | |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| | |
### Return type
diff --git a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/PetApi.md b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/PetApi.md
index 0b928e328e60..7ff44b2b42e1 100644
--- a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/UserApi.md b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/UserApi.md
index 6a4403972b4d..65848260626b 100644
--- a/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-multiplatform-kotlinx-datetime/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-multiplatform/docs/PetApi.md b/samples/client/petstore/kotlin-multiplatform/docs/PetApi.md
index 0b928e328e60..7ff44b2b42e1 100644
--- a/samples/client/petstore/kotlin-multiplatform/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-multiplatform/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-multiplatform/docs/UserApi.md b/samples/client/petstore/kotlin-multiplatform/docs/UserApi.md
index 6a4403972b4d..65848260626b 100644
--- a/samples/client/petstore/kotlin-multiplatform/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-multiplatform/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-name-parameter-mappings/docs/FakeApi.md b/samples/client/petstore/kotlin-name-parameter-mappings/docs/FakeApi.md
index 42a6f3a9551b..42b0584b85fb 100644
--- a/samples/client/petstore/kotlin-name-parameter-mappings/docs/FakeApi.md
+++ b/samples/client/petstore/kotlin-name-parameter-mappings/docs/FakeApi.md
@@ -37,11 +37,11 @@ try {
```
### Parameters
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
| **underscoreType** | **kotlin.Long**| _type | |
| **type** | **kotlin.String**| type | |
| **typeWithUnderscore** | **kotlin.String**| type_ | |
-| Name | Type | Description | Notes |
-| ------------- | ------------- | ------------- | ------------- |
| **httpDebugOption** | **kotlin.String**| http debug option (to test parameter naming option) | |
### Return type
diff --git a/samples/client/petstore/kotlin-nonpublic/docs/PetApi.md b/samples/client/petstore/kotlin-nonpublic/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-nonpublic/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-nonpublic/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-nonpublic/docs/UserApi.md b/samples/client/petstore/kotlin-nonpublic/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-nonpublic/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-nonpublic/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-nullable/docs/PetApi.md b/samples/client/petstore/kotlin-nullable/docs/PetApi.md
index c34fce5f4a46..ffd7840858ee 100644
--- a/samples/client/petstore/kotlin-nullable/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-nullable/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-nullable/docs/UserApi.md b/samples/client/petstore/kotlin-nullable/docs/UserApi.md
index 9f71f2df6933..5efced49d01b 100644
--- a/samples/client/petstore/kotlin-nullable/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-nullable/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-jackson/docs/PetApi.md b/samples/client/petstore/kotlin-retrofit2-jackson/docs/PetApi.md
index 01ad4cac6196..4cfaaaa72a8d 100644
--- a/samples/client/petstore/kotlin-retrofit2-jackson/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-jackson/docs/PetApi.md
@@ -72,9 +72,9 @@ webService.deletePet(petId, apiKey)
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -260,10 +260,10 @@ webService.updatePetWithForm(petId, name, status)
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -301,10 +301,10 @@ val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata,
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-jackson/docs/UserApi.md b/samples/client/petstore/kotlin-retrofit2-jackson/docs/UserApi.md
index 20a1ac7703b4..040d8c29ebd7 100644
--- a/samples/client/petstore/kotlin-retrofit2-jackson/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-jackson/docs/UserApi.md
@@ -220,9 +220,9 @@ val result : kotlin.String = webService.loginUser(username, password)
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -293,9 +293,9 @@ webService.updateUser(username, user)
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **user** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/PetApi.md b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/PetApi.md
index 7325e9a54129..c7daeadece1a 100644
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/PetApi.md
@@ -68,9 +68,9 @@ webService.deletePet(petId, apiKey)
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -252,10 +252,10 @@ webService.updatePetWithForm(petId, name, status)
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -291,10 +291,10 @@ val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata,
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/UserApi.md b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/UserApi.md
index ccd41ae2a462..26dca483feae 100644
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/docs/UserApi.md
@@ -212,9 +212,9 @@ val result : kotlin.String = webService.loginUser(username, password)
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -283,9 +283,9 @@ webService.updateUser(username, body)
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/docs/PetApi.md b/samples/client/petstore/kotlin-retrofit2-rx3/docs/PetApi.md
index 7325e9a54129..c7daeadece1a 100644
--- a/samples/client/petstore/kotlin-retrofit2-rx3/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-rx3/docs/PetApi.md
@@ -68,9 +68,9 @@ webService.deletePet(petId, apiKey)
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -252,10 +252,10 @@ webService.updatePetWithForm(petId, name, status)
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -291,10 +291,10 @@ val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata,
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/docs/UserApi.md b/samples/client/petstore/kotlin-retrofit2-rx3/docs/UserApi.md
index ccd41ae2a462..26dca483feae 100644
--- a/samples/client/petstore/kotlin-retrofit2-rx3/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-retrofit2-rx3/docs/UserApi.md
@@ -212,9 +212,9 @@ val result : kotlin.String = webService.loginUser(username, password)
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -283,9 +283,9 @@ webService.updateUser(username, body)
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2/docs/PetApi.md b/samples/client/petstore/kotlin-retrofit2/docs/PetApi.md
index 7325e9a54129..c7daeadece1a 100644
--- a/samples/client/petstore/kotlin-retrofit2/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-retrofit2/docs/PetApi.md
@@ -68,9 +68,9 @@ webService.deletePet(petId, apiKey)
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -252,10 +252,10 @@ webService.updatePetWithForm(petId, name, status)
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -291,10 +291,10 @@ val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata,
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-retrofit2/docs/UserApi.md b/samples/client/petstore/kotlin-retrofit2/docs/UserApi.md
index ccd41ae2a462..26dca483feae 100644
--- a/samples/client/petstore/kotlin-retrofit2/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-retrofit2/docs/UserApi.md
@@ -212,9 +212,9 @@ val result : kotlin.String = webService.loginUser(username, password)
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -283,9 +283,9 @@ webService.updateUser(username, body)
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-string/docs/PetApi.md b/samples/client/petstore/kotlin-string/docs/PetApi.md
index ea42a0d82f60..7f7f2c672157 100644
--- a/samples/client/petstore/kotlin-string/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-string/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **apiKey** | **kotlin.String**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **apiKey** | **kotlin.String**| | [optional] |
| **petId** | **kotlin.Long**| Pet id to delete | |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **kotlin.ByteArray**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-string/docs/UserApi.md b/samples/client/petstore/kotlin-string/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-string/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-string/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin-threetenbp/docs/PetApi.md b/samples/client/petstore/kotlin-threetenbp/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin-threetenbp/docs/PetApi.md
+++ b/samples/client/petstore/kotlin-threetenbp/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin-threetenbp/docs/UserApi.md b/samples/client/petstore/kotlin-threetenbp/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin-threetenbp/docs/UserApi.md
+++ b/samples/client/petstore/kotlin-threetenbp/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
diff --git a/samples/client/petstore/kotlin/docs/PetApi.md b/samples/client/petstore/kotlin/docs/PetApi.md
index 6856ea516dab..01b4ba0c63fd 100644
--- a/samples/client/petstore/kotlin/docs/PetApi.md
+++ b/samples/client/petstore/kotlin/docs/PetApi.md
@@ -86,9 +86,9 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| Pet id to delete | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| Pet id to delete | |
| **apiKey** | **kotlin.String**| | [optional] |
### Return type
@@ -324,10 +324,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
-| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet that needs to be updated | |
+| **name** | **kotlin.String**| Updated name of the pet | [optional] |
| **status** | **kotlin.String**| Updated status of the pet | [optional] |
### Return type
@@ -374,10 +374,10 @@ try {
```
### Parameters
-| **petId** | **kotlin.Long**| ID of pet to update | |
-| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **petId** | **kotlin.Long**| ID of pet to update | |
+| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| **file** | **java.io.File**| file to upload | [optional] |
### Return type
diff --git a/samples/client/petstore/kotlin/docs/UserApi.md b/samples/client/petstore/kotlin/docs/UserApi.md
index 82c8d6060276..60f2a26559de 100644
--- a/samples/client/petstore/kotlin/docs/UserApi.md
+++ b/samples/client/petstore/kotlin/docs/UserApi.md
@@ -262,9 +262,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| The user name for login | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| The user name for login | |
| **password** | **kotlin.String**| The password for login in clear text | |
### Return type
@@ -349,9 +349,9 @@ try {
```
### Parameters
-| **username** | **kotlin.String**| name that need to be deleted | |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
+| **username** | **kotlin.String**| name that need to be deleted | |
| **body** | [**User**](User.md)| Updated user object | |
### Return type
From b8bc3491b79e769fed4b0cfcbf52ee23a02e595d Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Wed, 29 Apr 2026 01:22:34 +0200
Subject: [PATCH 5/9] add missing unit test
---
.../kotlin/KotlinClientCodegenApiTest.java | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinClientCodegenApiTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinClientCodegenApiTest.java
index dd0c30ccf6ac..2e4d0931a42d 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinClientCodegenApiTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinClientCodegenApiTest.java
@@ -171,6 +171,29 @@ public void testJvmOkHttp4ApiClientUsesExplicitDateTypeArgumentsForQuerySerializ
assertFileNotContains(Paths.get(apiClientPath), "is OffsetDateTime -> parseDateToQueryString(value)");
}
+ @Test
+ public void testDollarInPathParamSanitizedForRetrofit2_20502() throws IOException {
+ OpenAPI openAPI = readOpenAPI("src/test/resources/3_0/kotlin/echo_api.yaml");
+
+ KotlinClientCodegen codegen = createCodegen(ClientLibrary.JVM_RETROFIT2);
+ codegen.additionalProperties().put(KotlinClientCodegen.USE_COROUTINES, "true");
+ codegen.additionalProperties().put(KotlinClientCodegen.USE_RESPONSE_AS_RETURN_TYPE, "true");
+
+ ClientOptInput input = createClientOptInput(openAPI, codegen);
+ DefaultGenerator generator = new DefaultGenerator();
+ enableOnlyApiGeneration(generator);
+
+ List files = generator.opts(input).generate();
+ File echoApi = files.stream().filter(file -> file.getName().equals("EchoApi.kt")).findAny().orElseThrow();
+
+ // Retrofit @Path name must not contain '$' — must use the sanitized paramName
+ assertFileContains(echoApi.toPath(), "@Path(\"dollarParamName\")");
+ assertFileContains(echoApi.toPath(), "echo/string-escaping/{dollarParamName}");
+ // Raw '$paramName' must never appear in the @Path annotation value
+ assertFileNotContains(echoApi.toPath(), "@Path(\"$paramName\")");
+ assertFileNotContains(echoApi.toPath(), "@Path(\"\\$paramName\")");
+ }
+
@Test(dataProvider = "librariesWithDateQueryHelper")
public void testGeneratedApisUseExplicitDateTypeArgumentsForQuerySerialization(ClientLibrary library) throws IOException {
OpenAPI openAPI = readOpenAPI("3_0/kotlin/echo_api.yaml");
From 10b6ab9bc8ed493b76e4bea15d0d5e350e138b35 Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Wed, 29 Apr 2026 01:31:03 +0200
Subject: [PATCH 6/9] migrate the two orphaned tests (gradleWrapperIsGenerated,
polymorphicJacksonSerialization) from the legacy kotlin package class into
the canonical kotlin.spring package class
---
.../kotlin/KotlinSpringServerCodegenTest.java | 108 ------------------
.../spring/KotlinSpringServerCodegenTest.java | 89 +++++++++++++++
2 files changed, 89 insertions(+), 108 deletions(-)
delete mode 100644 modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinSpringServerCodegenTest.java
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinSpringServerCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinSpringServerCodegenTest.java
deleted file mode 100644
index e66638589e7a..000000000000
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/KotlinSpringServerCodegenTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.openapitools.codegen.kotlin;
-
-import org.openapitools.codegen.ClientOptInput;
-import org.openapitools.codegen.DefaultGenerator;
-import org.openapitools.codegen.TestUtils;
-import org.openapitools.codegen.languages.KotlinSpringServerCodegen;
-import org.testng.annotations.Test;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import static org.testng.Assert.assertTrue;
-
-public class KotlinSpringServerCodegenTest {
-
- @Test
- public void gradleWrapperIsGenerated() throws IOException {
- File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
- output.deleteOnExit();
-
- KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
-
- codegen.setOutputDir(output.getAbsolutePath());
- new DefaultGenerator().opts(
- new ClientOptInput().openAPI(TestUtils.parseSpec("src/test/resources/3_0/petstore.yaml"))
- .config(codegen)
- ).generate();
- String outputPath = output.getAbsolutePath();
- Path gradleWrapperProperties = Paths.get(outputPath + "/gradle/wrapper/gradle-wrapper.properties");
- Path gradleWrapperJar = Paths.get(outputPath + "/gradle/wrapper/gradle-wrapper.jar");
- Path gradleWrapper = Paths.get(outputPath + "/gradlew");
- Path gradleWrapperBat = Paths.get(outputPath + "/gradlew.bat");
- TestUtils.assertFileExists(gradleWrapperProperties);
- TestUtils.assertFileExists(gradleWrapper);
- TestUtils.assertFileExists(gradleWrapperBat);
- //Different because file is not a text file
- assertTrue(Files.exists(gradleWrapperJar));
-
- //Spring Cloud
- File outputCloud = Files.createTempDirectory("testCloud").toFile().getCanonicalFile();
- outputCloud.deleteOnExit();
- codegen.setLibrary(KotlinSpringServerCodegen.SPRING_CLOUD_LIBRARY);
- codegen.setOutputDir(outputCloud.getAbsolutePath());
- new DefaultGenerator().opts(
- new ClientOptInput().openAPI(TestUtils.parseSpec("src/test/resources/3_0/petstore.yaml"))
- .config(codegen)
- ).generate();
-
- String outputPathCloud = outputCloud.getAbsolutePath();
- Path gradleWrapperPropertiesCloud = Paths.get(outputPathCloud + "/gradle/wrapper/gradle-wrapper.properties");
- Path gradleWrapperJarCloud = Paths.get(outputPathCloud + "/gradle/wrapper/gradle-wrapper.jar");
- Path gradleWrapperCloud = Paths.get(outputPathCloud + "/gradlew");
- Path gradleWrapperBatCloud = Paths.get(outputPathCloud + "/gradlew.bat");
- TestUtils.assertFileExists(gradleWrapperPropertiesCloud);
- TestUtils.assertFileExists(gradleWrapperCloud);
- TestUtils.assertFileExists(gradleWrapperBatCloud);
- //Different because file is not a text file
- assertTrue(Files.exists(gradleWrapperJarCloud));
- }
-
- @Test(description = "generate polymorphic jackson model")
- public void polymorphicJacksonSerialization() throws IOException {
- File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
- output.deleteOnExit();
-
- KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen() ;
- codegen.setOutputDir(output.getAbsolutePath());
-
- new DefaultGenerator().opts(
- new ClientOptInput()
- .openAPI(TestUtils.parseSpec("src/test/resources/3_0/kotlin/polymorphism.yaml"))
- .config(codegen)
- ).generate();
-
- final Path animalKt = Paths.get(output + "/src/main/kotlin/org/openapitools/model/Animal.kt");
- // base has extra jackson imports
- TestUtils.assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonIgnoreProperties");
- TestUtils.assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonSubTypes");
- TestUtils.assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonTypeInfo");
- // and these are being used
- TestUtils.assertFileContains(animalKt, "@JsonIgnoreProperties");
- TestUtils.assertFileContains(animalKt, "@JsonSubTypes");
- TestUtils.assertFileContains(animalKt, "@JsonTypeInfo");
- // base is interface
- TestUtils.assertFileContains(animalKt, "interface Animal");
- // base properties are present
- TestUtils.assertFileContains(animalKt, "val id");
- TestUtils.assertFileContains(animalKt, "val optionalProperty");
- TestUtils.assertFileContains(animalKt, "val stringArray: kotlin.collections.List");
- TestUtils.assertFileContains(animalKt, "val stringSet: kotlin.collections.Set");
- // base doesn't contain discriminator
- TestUtils.assertFileNotContains(animalKt, "val discriminator");
-
- final Path birdKt = Paths.get(output + "/src/main/kotlin/org/openapitools/model/Bird.kt");
- // derived has serial name set to mapping key
- TestUtils.assertFileContains(birdKt, "data class Bird");
- // derived properties are overridden
- TestUtils.assertFileContains(birdKt, "override val id");
- TestUtils.assertFileContains(birdKt, "override val optionalProperty");
- TestUtils.assertFileContains(birdKt, "override val stringArray: kotlin.collections.List");
- TestUtils.assertFileContains(birdKt, "override val stringSet: kotlin.collections.Set");
- // derived doesn't contain disciminator
- TestUtils.assertFileNotContains(birdKt, "val discriminator");
- }
-}
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/spring/KotlinSpringServerCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/spring/KotlinSpringServerCodegenTest.java
index f2febe614a9e..a02fc6882e20 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/spring/KotlinSpringServerCodegenTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/spring/KotlinSpringServerCodegenTest.java
@@ -6101,4 +6101,93 @@ public void issue20502_starSlashNotCorruptedInModelDefaults() throws IOException
assertFileContains(modelFile, "@get:JsonProperty(\"\\$id\")");
assertFileContains(modelFile, "@get:JsonProperty(\"name\\$Value\")");
}
+
+ @Test
+ public void gradleWrapperIsGenerated() throws IOException {
+ File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
+ output.deleteOnExit();
+
+ KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
+ codegen.setOutputDir(output.getAbsolutePath());
+ new DefaultGenerator().opts(
+ new ClientOptInput().openAPI(TestUtils.parseSpec("src/test/resources/3_0/petstore.yaml"))
+ .config(codegen)
+ ).generate();
+ String outputPath = output.getAbsolutePath();
+ Path gradleWrapperProperties = Paths.get(outputPath + "/gradle/wrapper/gradle-wrapper.properties");
+ Path gradleWrapperJar = Paths.get(outputPath + "/gradle/wrapper/gradle-wrapper.jar");
+ Path gradleWrapper = Paths.get(outputPath + "/gradlew");
+ Path gradleWrapperBat = Paths.get(outputPath + "/gradlew.bat");
+ TestUtils.assertFileExists(gradleWrapperProperties);
+ TestUtils.assertFileExists(gradleWrapper);
+ TestUtils.assertFileExists(gradleWrapperBat);
+ // Different because file is not a text file
+ Assert.assertTrue(Files.exists(gradleWrapperJar));
+
+ // Spring Cloud
+ File outputCloud = Files.createTempDirectory("testCloud").toFile().getCanonicalFile();
+ outputCloud.deleteOnExit();
+ codegen.setLibrary(KotlinSpringServerCodegen.SPRING_CLOUD_LIBRARY);
+ codegen.setOutputDir(outputCloud.getAbsolutePath());
+ new DefaultGenerator().opts(
+ new ClientOptInput().openAPI(TestUtils.parseSpec("src/test/resources/3_0/petstore.yaml"))
+ .config(codegen)
+ ).generate();
+
+ String outputPathCloud = outputCloud.getAbsolutePath();
+ Path gradleWrapperPropertiesCloud = Paths.get(outputPathCloud + "/gradle/wrapper/gradle-wrapper.properties");
+ Path gradleWrapperJarCloud = Paths.get(outputPathCloud + "/gradle/wrapper/gradle-wrapper.jar");
+ Path gradleWrapperCloud = Paths.get(outputPathCloud + "/gradlew");
+ Path gradleWrapperBatCloud = Paths.get(outputPathCloud + "/gradlew.bat");
+ TestUtils.assertFileExists(gradleWrapperPropertiesCloud);
+ TestUtils.assertFileExists(gradleWrapperCloud);
+ TestUtils.assertFileExists(gradleWrapperBatCloud);
+ // Different because file is not a text file
+ Assert.assertTrue(Files.exists(gradleWrapperJarCloud));
+ }
+
+ @Test(description = "generate polymorphic jackson model")
+ public void polymorphicJacksonSerialization() throws IOException {
+ File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
+ output.deleteOnExit();
+
+ KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
+ codegen.setOutputDir(output.getAbsolutePath());
+
+ new DefaultGenerator().opts(
+ new ClientOptInput()
+ .openAPI(TestUtils.parseSpec("src/test/resources/3_0/kotlin/polymorphism.yaml"))
+ .config(codegen)
+ ).generate();
+
+ final Path animalKt = Paths.get(output + "/src/main/kotlin/org/openapitools/model/Animal.kt");
+ // base has extra jackson imports
+ assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonIgnoreProperties");
+ assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonSubTypes");
+ assertFileContains(animalKt, "import com.fasterxml.jackson.annotation.JsonTypeInfo");
+ // and these are being used
+ assertFileContains(animalKt, "@JsonIgnoreProperties");
+ assertFileContains(animalKt, "@JsonSubTypes");
+ assertFileContains(animalKt, "@JsonTypeInfo");
+ // base is interface
+ assertFileContains(animalKt, "interface Animal");
+ // base properties are present
+ assertFileContains(animalKt, "val id");
+ assertFileContains(animalKt, "val optionalProperty");
+ assertFileContains(animalKt, "val stringArray: kotlin.collections.List");
+ assertFileContains(animalKt, "val stringSet: kotlin.collections.Set");
+ // base doesn't contain discriminator
+ assertFileNotContains(animalKt, "val discriminator");
+
+ final Path birdKt = Paths.get(output + "/src/main/kotlin/org/openapitools/model/Bird.kt");
+ // derived has serial name set to mapping key
+ assertFileContains(birdKt, "data class Bird");
+ // derived properties are overridden
+ assertFileContains(birdKt, "override val id");
+ assertFileContains(birdKt, "override val optionalProperty");
+ assertFileContains(birdKt, "override val stringArray: kotlin.collections.List");
+ assertFileContains(birdKt, "override val stringSet: kotlin.collections.Set");
+ // derived doesn't contain discriminator
+ assertFileNotContains(birdKt, "val discriminator");
+ }
}
From 8c51a1c1057399b47713dc7c5ee9d04924bfa96f Mon Sep 17 00:00:00 2001
From: Jachym Metlicka
Date: Wed, 29 Apr 2026 01:34:37 +0200
Subject: [PATCH 7/9] extract regex to reusable Pattern
---
.../openapitools/codegen/languages/KotlinClientCodegen.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
index 4c3290408540..c77d2ddedffd 100755
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
@@ -36,6 +36,7 @@
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -115,6 +116,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
public static final String COMPANION_OBJECT = "companionObject";
protected static final String VENDOR_EXTENSION_BASE_NAME_LITERAL = "x-base-name-literal";
+ private static final Pattern RETROFIT_PATH_PARAM_NAME_PATTERN = Pattern.compile("[a-zA-Z][a-zA-Z0-9_-]*");
@Setter protected String dateLibrary = DateLibrary.JAVA8.value;
@@ -1068,7 +1070,7 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List
Date: Thu, 30 Apr 2026 00:17:01 +0200
Subject: [PATCH 8/9] Revert "extract regex to reusable Pattern"
This reverts commit 8c51a1c1057399b47713dc7c5ee9d04924bfa96f.
---
.../openapitools/codegen/languages/KotlinClientCodegen.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
index c77d2ddedffd..4c3290408540 100755
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
@@ -36,7 +36,6 @@
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
-import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -116,7 +115,6 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
public static final String COMPANION_OBJECT = "companionObject";
protected static final String VENDOR_EXTENSION_BASE_NAME_LITERAL = "x-base-name-literal";
- private static final Pattern RETROFIT_PATH_PARAM_NAME_PATTERN = Pattern.compile("[a-zA-Z][a-zA-Z0-9_-]*");
@Setter protected String dateLibrary = DateLibrary.JAVA8.value;
@@ -1070,7 +1068,7 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List
Date: Thu, 30 Apr 2026 00:17:05 +0200
Subject: [PATCH 9/9] Reapply "extract regex to reusable Pattern"
This reverts commit 8488e6b2dee4277204968f39ffbd164e898cd3f6.
---
.../openapitools/codegen/languages/KotlinClientCodegen.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
index 4c3290408540..c77d2ddedffd 100755
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
@@ -36,6 +36,7 @@
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -115,6 +116,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
public static final String COMPANION_OBJECT = "companionObject";
protected static final String VENDOR_EXTENSION_BASE_NAME_LITERAL = "x-base-name-literal";
+ private static final Pattern RETROFIT_PATH_PARAM_NAME_PATTERN = Pattern.compile("[a-zA-Z][a-zA-Z0-9_-]*");
@Setter protected String dateLibrary = DateLibrary.JAVA8.value;
@@ -1068,7 +1070,7 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List