Skip to content

Commit ebaf934

Browse files
committed
update ktor multiplatform serialization issue
update ktor multiplatform serialization issue
1 parent d269a2a commit ebaf934

File tree

6 files changed

+23
-0
lines changed
  • modules/openapi-generator/src/main/resources/kotlin-client/libraries/multiplatform/infrastructure
  • samples/client/petstore
    • kotlin-array-simple-string-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure
    • kotlin-bigdecimal-default-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure
    • kotlin-default-values-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure
    • kotlin-multiplatform/src

6 files changed

+23
-0
lines changed

modules/openapi-generator/src/main/resources/kotlin-client/libraries/multiplatform/infrastructure/ApiClient.kt.mustache

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.ktor.client.request.parameter
1212
import io.ktor.client.statement.HttpResponse
1313
import io.ktor.serialization.kotlinx.json.json
1414
import io.ktor.http.*
15+
import io.ktor.http.ContentType.Application
1516
import io.ktor.http.content.PartData
1617
import kotlin.Unit
1718
import kotlinx.serialization.json.Json
@@ -154,6 +155,7 @@ import {{packageName}}.auth.*
154155
this.method = requestConfig.method.httpMethod
155156
headers.filter { header -> !UNSAFE_HEADERS.contains(header.key) }.forEach { header -> this.header(header.key, header.value) }
156157
if (requestConfig.method in listOf(RequestMethod.PUT, RequestMethod.POST, RequestMethod.PATCH)) {
158+
this.contentType(Application.Json)
157159
this.setBody(body)
158160
}
159161
}

samples/client/petstore/kotlin-array-simple-string-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.ktor.client.request.parameter
1212
import io.ktor.client.statement.HttpResponse
1313
import io.ktor.serialization.kotlinx.json.json
1414
import io.ktor.http.*
15+
import io.ktor.http.ContentType.Application
1516
import io.ktor.http.content.PartData
1617
import kotlin.Unit
1718
import kotlinx.serialization.json.Json
@@ -143,6 +144,7 @@ open class ApiClient(
143144
this.method = requestConfig.method.httpMethod
144145
headers.filter { header -> !UNSAFE_HEADERS.contains(header.key) }.forEach { header -> this.header(header.key, header.value) }
145146
if (requestConfig.method in listOf(RequestMethod.PUT, RequestMethod.POST, RequestMethod.PATCH)) {
147+
this.contentType(Application.Json)
146148
this.setBody(body)
147149
}
148150
}

samples/client/petstore/kotlin-bigdecimal-default-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.ktor.client.request.parameter
1212
import io.ktor.client.statement.HttpResponse
1313
import io.ktor.serialization.kotlinx.json.json
1414
import io.ktor.http.*
15+
import io.ktor.http.ContentType.Application
1516
import io.ktor.http.content.PartData
1617
import kotlin.Unit
1718
import kotlinx.serialization.json.Json
@@ -143,6 +144,7 @@ open class ApiClient(
143144
this.method = requestConfig.method.httpMethod
144145
headers.filter { header -> !UNSAFE_HEADERS.contains(header.key) }.forEach { header -> this.header(header.key, header.value) }
145146
if (requestConfig.method in listOf(RequestMethod.PUT, RequestMethod.POST, RequestMethod.PATCH)) {
147+
this.contentType(Application.Json)
146148
this.setBody(body)
147149
}
148150
}

samples/client/petstore/kotlin-default-values-multiplatform/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.ktor.client.request.parameter
1212
import io.ktor.client.statement.HttpResponse
1313
import io.ktor.serialization.kotlinx.json.json
1414
import io.ktor.http.*
15+
import io.ktor.http.ContentType.Application
1516
import io.ktor.http.content.PartData
1617
import kotlin.Unit
1718
import kotlinx.serialization.json.Json
@@ -143,6 +144,7 @@ open class ApiClient(
143144
this.method = requestConfig.method.httpMethod
144145
headers.filter { header -> !UNSAFE_HEADERS.contains(header.key) }.forEach { header -> this.header(header.key, header.value) }
145146
if (requestConfig.method in listOf(RequestMethod.PUT, RequestMethod.POST, RequestMethod.PATCH)) {
147+
this.contentType(Application.Json)
146148
this.setBody(body)
147149
}
148150
}

samples/client/petstore/kotlin-multiplatform/src/commonMain/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.ktor.client.request.parameter
1212
import io.ktor.client.statement.HttpResponse
1313
import io.ktor.serialization.kotlinx.json.json
1414
import io.ktor.http.*
15+
import io.ktor.http.ContentType.Application
1516
import io.ktor.http.content.PartData
1617
import kotlin.Unit
1718
import kotlinx.serialization.json.Json
@@ -147,6 +148,7 @@ open class ApiClient(
147148
this.method = requestConfig.method.httpMethod
148149
headers.filter { header -> !UNSAFE_HEADERS.contains(header.key) }.forEach { header -> this.header(header.key, header.value) }
149150
if (requestConfig.method in listOf(RequestMethod.PUT, RequestMethod.POST, RequestMethod.PATCH)) {
151+
this.contentType(Application.Json)
150152
this.setBody(body)
151153
}
152154
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package util
2+
3+
import org.junit.Test
4+
import org.openapitools.client.apis.PetApi
5+
import org.openapitools.client.models.Pet
6+
7+
class PetStoreTest {
8+
@Test
9+
fun addPet() = runTest {
10+
val mainApi = PetApi()
11+
println(mainApi.addPet(Pet("TestPet", emptyList())).body())
12+
}
13+
}

0 commit comments

Comments
 (0)