Skip to content

Commit d748312

Browse files
karismannwing328
authored andcommitted
[KOTLIN client] fix Moshi (Serializer/Deserializer) duplicated (#3013)
1 parent d1043c9 commit d748312

12 files changed

Lines changed: 26 additions & 70 deletions

File tree

modules/openapi-generator/src/main/resources/kotlin-client/build.gradle.mustache

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ test {
3030
dependencies {
3131
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3232
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
33-
compile "com.squareup.moshi:moshi-kotlin:1.5.0"
34-
compile "com.squareup.moshi:moshi-adapters:1.5.0"
35-
compile "com.squareup.okhttp3:okhttp:3.14.0"
33+
compile "com.squareup.moshi:moshi-kotlin:1.8.0"
34+
compile "com.squareup.moshi:moshi-adapters:1.8.0"
35+
compile "com.squareup.okhttp3:okhttp:3.14.2"
36+
{{#threetenbp}}
3637
compile "org.threeten:threetenbp:1.3.8"
38+
{{/threetenbp}}
3739
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.1.0"
3840
}

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package {{packageName}}.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
4-
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
63
import okhttp3.OkHttpClient
74
import okhttp3.RequestBody
85
import okhttp3.MediaType
@@ -11,7 +8,6 @@ import okhttp3.HttpUrl
118
import okhttp3.ResponseBody
129
import okhttp3.Request
1310
import java.io.File
14-
import java.util.Date
1511

1612
open class ApiClient(val baseUrl: String) {
1713
companion object {
@@ -62,14 +58,7 @@ open class ApiClient(val baseUrl: String) {
6258
return null
6359
}
6460
return when(mediaType) {
65-
JsonMediaType -> Moshi.Builder()
66-
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
67-
.add(LocalDateTimeAdapter())
68-
.add(LocalDateAdapter())
69-
.add(UUIDAdapter())
70-
.add(ByteArrayAdapter())
71-
.add(KotlinJsonAdapterFactory())
72-
.build().adapter(T::class.java).fromJson(bodyContent)
61+
JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
7362
else -> TODO("responseBody currently only supports JSON body.")
7463
}
7564
}

modules/openapi-generator/src/main/resources/kotlin-client/infrastructure/Serializer.kt.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package {{packageName}}.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
43
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
4+
import com.squareup.moshi.adapters.Rfc3339DateJsonAdapter
5+
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
66
import java.util.Date
77

88
object Serializer {

samples/client/petstore/kotlin-string/build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ test {
3030
dependencies {
3131
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3232
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
33-
compile "com.squareup.moshi:moshi-kotlin:1.5.0"
34-
compile "com.squareup.moshi:moshi-adapters:1.5.0"
35-
compile "com.squareup.okhttp3:okhttp:3.14.0"
36-
compile "org.threeten:threetenbp:1.3.8"
33+
compile "com.squareup.moshi:moshi-kotlin:1.8.0"
34+
compile "com.squareup.moshi:moshi-adapters:1.8.0"
35+
compile "com.squareup.okhttp3:okhttp:3.14.2"
3736
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.1.0"
3837
}

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package org.openapitools.client.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
4-
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
63
import okhttp3.OkHttpClient
74
import okhttp3.RequestBody
85
import okhttp3.MediaType
@@ -11,7 +8,6 @@ import okhttp3.HttpUrl
118
import okhttp3.ResponseBody
129
import okhttp3.Request
1310
import java.io.File
14-
import java.util.Date
1511

1612
open class ApiClient(val baseUrl: String) {
1713
companion object {
@@ -62,14 +58,7 @@ open class ApiClient(val baseUrl: String) {
6258
return null
6359
}
6460
return when(mediaType) {
65-
JsonMediaType -> Moshi.Builder()
66-
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
67-
.add(LocalDateTimeAdapter())
68-
.add(LocalDateAdapter())
69-
.add(UUIDAdapter())
70-
.add(ByteArrayAdapter())
71-
.add(KotlinJsonAdapterFactory())
72-
.build().adapter(T::class.java).fromJson(bodyContent)
61+
JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
7362
else -> TODO("responseBody currently only supports JSON body.")
7463
}
7564
}

samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.openapitools.client.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
43
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
4+
import com.squareup.moshi.adapters.Rfc3339DateJsonAdapter
5+
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
66
import java.util.Date
77

88
object Serializer {

samples/client/petstore/kotlin-threetenbp/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ test {
3030
dependencies {
3131
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3232
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
33-
compile "com.squareup.moshi:moshi-kotlin:1.5.0"
34-
compile "com.squareup.moshi:moshi-adapters:1.5.0"
35-
compile "com.squareup.okhttp3:okhttp:3.14.0"
33+
compile "com.squareup.moshi:moshi-kotlin:1.8.0"
34+
compile "com.squareup.moshi:moshi-adapters:1.8.0"
35+
compile "com.squareup.okhttp3:okhttp:3.14.2"
3636
compile "org.threeten:threetenbp:1.3.8"
3737
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.1.0"
3838
}

samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package org.openapitools.client.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
4-
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
63
import okhttp3.OkHttpClient
74
import okhttp3.RequestBody
85
import okhttp3.MediaType
@@ -11,7 +8,6 @@ import okhttp3.HttpUrl
118
import okhttp3.ResponseBody
129
import okhttp3.Request
1310
import java.io.File
14-
import java.util.Date
1511

1612
open class ApiClient(val baseUrl: String) {
1713
companion object {
@@ -62,14 +58,7 @@ open class ApiClient(val baseUrl: String) {
6258
return null
6359
}
6460
return when(mediaType) {
65-
JsonMediaType -> Moshi.Builder()
66-
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
67-
.add(LocalDateTimeAdapter())
68-
.add(LocalDateAdapter())
69-
.add(UUIDAdapter())
70-
.add(ByteArrayAdapter())
71-
.add(KotlinJsonAdapterFactory())
72-
.build().adapter(T::class.java).fromJson(bodyContent)
61+
JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
7362
else -> TODO("responseBody currently only supports JSON body.")
7463
}
7564
}

samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.openapitools.client.infrastructure
22

3-
import com.squareup.moshi.KotlinJsonAdapterFactory
43
import com.squareup.moshi.Moshi
5-
import com.squareup.moshi.Rfc3339DateJsonAdapter
4+
import com.squareup.moshi.adapters.Rfc3339DateJsonAdapter
5+
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
66
import java.util.Date
77

88
object Serializer {

samples/client/petstore/kotlin/build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ test {
3030
dependencies {
3131
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3232
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
33-
compile "com.squareup.moshi:moshi-kotlin:1.5.0"
34-
compile "com.squareup.moshi:moshi-adapters:1.5.0"
35-
compile "com.squareup.okhttp3:okhttp:3.14.0"
36-
compile "org.threeten:threetenbp:1.3.8"
33+
compile "com.squareup.moshi:moshi-kotlin:1.8.0"
34+
compile "com.squareup.moshi:moshi-adapters:1.8.0"
35+
compile "com.squareup.okhttp3:okhttp:3.14.2"
3736
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.1.0"
3837
}

0 commit comments

Comments
 (0)