Skip to content

Commit cabfa16

Browse files
committed
fix: kotlin multiplatform form-data file upload
1 parent dcd9463 commit cabfa16

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,11 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<Mo
10091009
if ((JVM_KTOR.equals(getLibrary()) || MULTIPLATFORM.equals(getLibrary())) && operation.allParams != null) {
10101010
for (CodegenParameter param : operation.allParams) {
10111011
if (param.dataFormat != null && param.dataFormat.equals("binary")) {
1012-
param.baseType = param.dataType = "io.ktor.client.request.forms.InputProvider";
1012+
if (param.isContainer) {
1013+
param.baseType = param.dataType = typeMapping.get(collectionType) + "<io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>>";
1014+
} else {
1015+
param.baseType = param.dataType = "io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>";
1016+
}
10131017
}
10141018
}
10151019
}

modules/openapi-generator/src/main/resources/kotlin-client/libraries/multiplatform/api.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ import kotlinx.serialization.encoding.*
7676
{{#formParams}}
7777
{{#isArray}}
7878
{{{paramName}}}?.onEach {
79-
append("{{{baseName}}}[]", it)
79+
{{#isFile}}append(it){{/isFile}}{{^isFile}}append("{{{baseName}}}", it){{/isFile}}
8080
}
8181
{{/isArray}}
8282
{{^isArray}}
83-
{{{paramName}}}?.apply { append("{{{baseName}}}", {{{paramName}}}) }
83+
{{{paramName}}}?.apply { {{#isFile}}append({{{baseName}}}){{/isFile}}{{^isFile}}append("{{{baseName}}}", {{^isEnumOrRef}}{{{paramName}}}{{/isEnumOrRef}}{{#isEnumOrRef}}{{{paramName}}}.value{{/isEnumOrRef}}){{/isFile}} }
8484
{{/isArray}}
8585
{{/formParams}}
8686
}

0 commit comments

Comments
 (0)