forked from loafle/openapi-generator-original
Merge remote-tracking branch 'origin/4.3.x' into 5.0.x
This commit is contained in:
commit
bad78a30c8
@ -136,10 +136,10 @@ script:
|
||||
- mvn --quiet --batch-mode --show-version clean install
|
||||
- mvn --quiet --batch-mode --show-version verify -Psamples
|
||||
# test maven plugin
|
||||
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml
|
||||
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml
|
||||
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml
|
||||
- mvn clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml
|
||||
- mvn --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml
|
||||
- mvn --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml
|
||||
- mvn --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml
|
||||
- mvn --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml
|
||||
# test gradle plugin
|
||||
- (cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk)
|
||||
- (cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)
|
||||
|
@ -5,6 +5,6 @@ If Not Exist %executable% (
|
||||
)
|
||||
|
||||
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
|
||||
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g kotlin --artifact-id "kotlin-petstore-string" --additional-properties dateLibrary=string,serializableModel=true -o samples\client\petstore\kotlin-string
|
||||
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g kotlin --artifact-id "kotlin-petstore-string" --additional-properties dateLibrary=string,serializableModel=true,sortParamsByRequiredFlag=false,sortModelPropertiesByRequiredFlag=false -o samples\client\petstore\kotlin-string
|
||||
|
||||
java %JAVA_OPTS% -jar %executable% %ags%
|
||||
|
@ -18,7 +18,7 @@ sidebar_label: kotlin
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |null|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |null|
|
||||
|modelMutable|Create mutable models| |false|
|
||||
|dateLibrary|Option. Date library to use|<dl><dt>**string**</dt><dd>String</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (jvm only)</dd><dt>**threetenbp**</dt><dd>Threetenbp (jvm only)</dd><dl>|java8|
|
||||
|dateLibrary|Option. Date library to use|<dl><dt>**threetenbp-localdatetime**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, for legacy app only)</dd><dt>**string**</dt><dd>String</dd><dt>**java8-localdatetime**</dt><dd>Java 8 native JSR310 (jvm only, for legacy app only)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)</dd><dt>**threetenbp**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, preferred for jdk < 1.8)</dd><dl>|java8|
|
||||
|collectionType|Option. Collection type to use|<dl><dt>**array**</dt><dd>kotlin.Array</dd><dt>**list**</dt><dd>kotlin.collections.List</dd><dl>|array|
|
||||
|library|Library template (sub-template) to use|<dl><dt>**jvm-okhttp4**</dt><dd>[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.</dd><dt>**jvm-okhttp3**</dt><dd>Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0.</dd><dt>**jvm-retrofit2**</dt><dd>Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.</dd><dt>**multiplatform**</dt><dd>Platform: Kotlin multiplatform. HTTP client: Ktor 1.2.4. JSON processing: Kotlinx Serialization: 0.12.0.</dd><dl>|jvm-okhttp4|
|
||||
|requestDateConverter|JVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter)|<dl><dt>**toJson**</dt><dd>Date formater option using a json converter.</dd><dt>**toString**</dt><dd>[DEFAULT] Use the 'toString'-method of the date-time object to retrieve the related string representation.</dd><dl>|toString|
|
||||
|
@ -56,7 +56,9 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
public enum DateLibrary {
|
||||
STRING("string"),
|
||||
THREETENBP("threetenbp"),
|
||||
JAVA8("java8");
|
||||
THREETENBP_LOCALDATETIME("threetenbp-localdatetime"),
|
||||
JAVA8("java8"),
|
||||
JAVA8_LOCALDATETIME("java8-localdatetime");
|
||||
|
||||
public final String value;
|
||||
|
||||
@ -111,9 +113,11 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
|
||||
CliOption dateLibrary = new CliOption(DATE_LIBRARY, "Option. Date library to use");
|
||||
Map<String, String> dateOptions = new HashMap<>();
|
||||
dateOptions.put(DateLibrary.THREETENBP.value, "Threetenbp (jvm only)");
|
||||
dateOptions.put(DateLibrary.THREETENBP.value, "Threetenbp - Backport of JSR310 (jvm only, preferred for jdk < 1.8)");
|
||||
dateOptions.put(DateLibrary.THREETENBP_LOCALDATETIME.value, "Threetenbp - Backport of JSR310 (jvm only, for legacy app only)");
|
||||
dateOptions.put(DateLibrary.STRING.value, "String");
|
||||
dateOptions.put(DateLibrary.JAVA8.value, "Java 8 native JSR310 (jvm only)");
|
||||
dateOptions.put(DateLibrary.JAVA8.value, "Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)");
|
||||
dateOptions.put(DateLibrary.JAVA8_LOCALDATETIME.value, "Java 8 native JSR310 (jvm only, for legacy app only)");
|
||||
dateLibrary.setEnum(dateOptions);
|
||||
dateLibrary.setDefault(this.dateLibrary);
|
||||
cliOptions.add(dateLibrary);
|
||||
@ -222,19 +226,12 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
}
|
||||
|
||||
private void processDateLibrary() {
|
||||
DateLibrary dateLibraryEnum = DateLibrary.valueOf(dateLibrary.toUpperCase(Locale.ROOT));
|
||||
switch (dateLibraryEnum) {
|
||||
case THREETENBP:
|
||||
processThreeTeBpDate();
|
||||
break;
|
||||
case STRING:
|
||||
if (DateLibrary.THREETENBP.value.equals(dateLibrary) || DateLibrary.THREETENBP_LOCALDATETIME.value.equals(dateLibrary)) {
|
||||
processThreeTeBpDate(dateLibrary);
|
||||
} else if (DateLibrary.STRING.value.equals(dateLibrary)) {
|
||||
processStringDate();
|
||||
break;
|
||||
case JAVA8:
|
||||
processJava8Date();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
} else if (DateLibrary.JAVA8.value.equals(dateLibrary) || DateLibrary.JAVA8_LOCALDATETIME.value.equals(dateLibrary)) {
|
||||
processJava8Date(dateLibrary);
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,15 +243,24 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
}
|
||||
}
|
||||
|
||||
private void processThreeTeBpDate() {
|
||||
private void processThreeTeBpDate(String dateLibrary) {
|
||||
additionalProperties.put(DateLibrary.THREETENBP.value, true);
|
||||
typeMapping.put("date", "LocalDate");
|
||||
typeMapping.put("DateTime", "LocalDateTime");
|
||||
importMapping.put("LocalDate", "org.threeten.bp.LocalDate");
|
||||
importMapping.put("LocalDateTime", "org.threeten.bp.LocalDateTime");
|
||||
defaultIncludes.add("org.threeten.bp.LocalDate");
|
||||
|
||||
if (dateLibrary.equals(DateLibrary.THREETENBP.value)) {
|
||||
typeMapping.put("date-time", "org.threeten.bp.OffsetDateTime");
|
||||
typeMapping.put("DateTime", "OffsetDateTime");
|
||||
importMapping.put("OffsetDateTime", "org.threeten.bp.OffsetDateTime");
|
||||
defaultIncludes.add("org.threeten.bp.OffsetDateTime");
|
||||
} else if (dateLibrary.equals(DateLibrary.THREETENBP_LOCALDATETIME.value)) {
|
||||
typeMapping.put("date-time", "org.threeten.bp.LocalDateTime");
|
||||
typeMapping.put("DateTime", "LocalDateTime");
|
||||
importMapping.put("LocalDateTime", "org.threeten.bp.LocalDateTime");
|
||||
defaultIncludes.add("org.threeten.bp.LocalDateTime");
|
||||
}
|
||||
}
|
||||
|
||||
private void processStringDate() {
|
||||
typeMapping.put("date-time", "kotlin.String");
|
||||
@ -263,8 +269,18 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
typeMapping.put("DateTime", "kotlin.String");
|
||||
}
|
||||
|
||||
private void processJava8Date() {
|
||||
private void processJava8Date(String dateLibrary) {
|
||||
additionalProperties.put(DateLibrary.JAVA8.value, true);
|
||||
|
||||
if (dateLibrary.equals(DateLibrary.JAVA8.value)) {
|
||||
typeMapping.put("date-time", "java.time.OffsetDateTime");
|
||||
typeMapping.put("DateTime", "OffsetDateTime");
|
||||
importMapping.put("OffsetDateTime", "java.time.OffsetDateTime");
|
||||
} else if (dateLibrary.equals(DateLibrary.JAVA8_LOCALDATETIME.value)) {
|
||||
typeMapping.put("date-time", "java.time.LocalDateTime");
|
||||
typeMapping.put("DateTime", "LocalDateTime");
|
||||
importMapping.put("LocalDateTime", "java.time.LocalDateTime");
|
||||
}
|
||||
}
|
||||
|
||||
private void processJVMRetrofit2Library(String infrastructureFolder) {
|
||||
@ -280,6 +296,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
supportingFiles.add(new SupportingFile("jvm-common/infrastructure/ByteArrayAdapter.kt.mustache", infrastructureFolder, "ByteArrayAdapter.kt"));
|
||||
supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateAdapter.kt.mustache", infrastructureFolder, "LocalDateAdapter.kt"));
|
||||
supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateTimeAdapter.kt.mustache", infrastructureFolder, "LocalDateTimeAdapter.kt"));
|
||||
supportingFiles.add(new SupportingFile("jvm-common/infrastructure/OffsetDateTimeAdapter.kt.mustache", infrastructureFolder, "OffsetDateTimeAdapter.kt"));
|
||||
|
||||
switch (getSerializationLibrary()) {
|
||||
case moshi:
|
||||
|
@ -138,7 +138,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jersey_version = "1.19.4"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -122,7 +122,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
{{#threetenbp}}
|
||||
jackson_threetenbp_version = "2.9.10"
|
||||
{{/threetenbp}}
|
||||
|
@ -315,7 +315,7 @@
|
||||
<feign-version>{{#useFeign10}}10.2.3{{/useFeign10}}{{^useFeign10}}9.7.0{{/useFeign10}}</feign-version>
|
||||
<feign-form-version>2.1.0</feign-form-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
{{#threetenbp}}
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
|
@ -122,7 +122,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
google_api_client_version = "1.23.0"
|
||||
jersey_common_version = "2.25.1"
|
||||
jodatime_version = "2.9.9"
|
||||
|
@ -308,7 +308,7 @@
|
||||
<jersey-common-version>2.25.1</jersey-common-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
{{#joda}}
|
||||
<jodatime-version>2.9.9</jodatime-version>
|
||||
{{/joda}}
|
||||
|
@ -121,7 +121,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
{{#supportJava6}}
|
||||
jersey_version = "2.6"
|
||||
commons_io_version=2.5
|
||||
|
@ -362,7 +362,7 @@
|
||||
{{/supportJava6}}
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
{{#threetenbp}}
|
||||
<threetenbp-version>2.9.10</threetenbp-version>
|
||||
{{/threetenbp}}
|
||||
|
@ -215,7 +215,7 @@
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<jackson-version>2.9.9</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
</project>
|
||||
|
@ -101,7 +101,7 @@ ext {
|
||||
{{#jackson}}
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10"
|
||||
jackson_databind_nullable_version = 0.2.0
|
||||
jackson_databind_nullable_version = 0.2.1
|
||||
{{/jackson}}
|
||||
{{#gson}}
|
||||
gson_version = "2.8.5"
|
||||
|
@ -325,7 +325,7 @@
|
||||
{{#jackson}}
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
{{#threetenbp}}
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
{{/threetenbp}}
|
||||
|
@ -121,7 +121,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
threetenbp_version = "2.9.10"
|
||||
resteasy_version = "3.1.3.Final"
|
||||
{{^java8}}
|
||||
|
@ -296,7 +296,7 @@
|
||||
<resteasy-version>3.1.3.Final</resteasy-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<threetenbp-version>2.9.10</threetenbp-version>
|
||||
{{^java8}}
|
||||
<jodatime-version>2.9.9</jodatime-version>
|
||||
|
@ -122,7 +122,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
spring_web_version = "4.3.9.RELEASE"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -311,7 +311,7 @@
|
||||
<spring-web-version>4.3.9.RELEASE</spring-web-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
{{#joda}}
|
||||
<jodatime-version>2.9.9</jodatime-version>
|
||||
{{/joda}}
|
||||
|
@ -133,7 +133,7 @@ ext {
|
||||
{{#play26}}
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
play_version = "2.6.7"
|
||||
{{/play26}}
|
||||
{{/usePlayWS}}
|
||||
|
@ -388,7 +388,7 @@
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<play-version>2.6.7</play-version>
|
||||
{{/play26}}
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
{{/usePlayWS}}
|
||||
<retrofit-version>2.5.0</retrofit-version>
|
||||
{{#useRxJava}}
|
||||
|
@ -291,7 +291,7 @@
|
||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind>2.9.10.1</jackson-databind>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
</project>
|
||||
|
@ -145,7 +145,7 @@
|
||||
<spring-web-version>5.0.8.RELEASE</spring-web-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
<reactor-version>3.1.8.RELEASE</reactor-version>
|
||||
<reactor-netty-version>0.7.8.RELEASE</reactor-netty-version>
|
||||
|
@ -0,0 +1,63 @@
|
||||
package {{packageName}}.infrastructure
|
||||
|
||||
{{#moshi}}
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
{{/moshi}}
|
||||
{{#gson}}
|
||||
import com.google.gson.TypeAdapter
|
||||
import com.google.gson.stream.JsonReader
|
||||
import com.google.gson.stream.JsonWriter
|
||||
import com.google.gson.stream.JsonToken.NULL
|
||||
import java.io.IOException
|
||||
{{/gson}}
|
||||
{{^threetenbp}}
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
{{/threetenbp}}
|
||||
{{#threetenbp}}
|
||||
import org.threeten.bp.OffsetDateTime
|
||||
import org.threeten.bp.format.DateTimeFormatter
|
||||
{{/threetenbp}}
|
||||
|
||||
{{#moshi}}
|
||||
{{#nonPublicApi}}internal {{/nonPublicApi}}class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
||||
{{/moshi}}
|
||||
{{#gson}}
|
||||
{{#nonPublicApi}}internal {{/nonPublicApi}}class OffsetDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME) : TypeAdapter<OffsetDateTime>() {
|
||||
@Throws(IOException::class)
|
||||
override fun write(out: JsonWriter?, value: OffsetDateTime?) {
|
||||
if (value == null) {
|
||||
out?.nullValue()
|
||||
} else {
|
||||
out?.value(formatter.format(value))
|
||||
}
|
||||
}
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun read(out: JsonReader?): OffsetDateTime? {
|
||||
out ?: return null
|
||||
|
||||
when (out.peek()) {
|
||||
NULL -> {
|
||||
out.nextNull()
|
||||
return null
|
||||
}
|
||||
else -> {
|
||||
return OffsetDateTime.parse(out.nextString(), formatter)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{{/gson}}
|
@ -13,10 +13,12 @@ import com.google.gson.GsonBuilder
|
||||
{{^threetenbp}}
|
||||
import java.time.LocalDate
|
||||
import java.time.LocalDateTime
|
||||
import java.time.OffsetDateTime
|
||||
{{/threetenbp}}
|
||||
{{#threetenbp}}
|
||||
import org.threeten.bp.LocalDate
|
||||
import org.threeten.bp.LocalDateTime
|
||||
import org.threeten.bp.OffsetDateTime
|
||||
{{/threetenbp}}
|
||||
import java.util.UUID
|
||||
{{/gson}}
|
||||
@ -27,6 +29,7 @@ import java.util.Date
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
@ -44,6 +47,7 @@ import java.util.Date
|
||||
@JvmStatic
|
||||
val gsonBuilder: GsonBuilder = GsonBuilder()
|
||||
.registerTypeAdapter(Date::class.java, DateAdapter())
|
||||
.registerTypeAdapter(OffsetDateTime::class.java, OffsetDateTimeAdapter())
|
||||
.registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
|
||||
.registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
|
||||
.registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
|
||||
|
@ -66,6 +66,7 @@ public class KotlinClientCodegenModelTest {
|
||||
public void simpleModelTest() {
|
||||
final Schema schema = getSimpleSchema();
|
||||
final DefaultCodegen codegen = new KotlinClientCodegen();
|
||||
codegen.processOpts();
|
||||
|
||||
OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema);
|
||||
codegen.setOpenAPI(openAPI);
|
||||
@ -100,10 +101,10 @@ public class KotlinClientCodegenModelTest {
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.dataType, "java.time.LocalDateTime");
|
||||
Assert.assertEquals(property3.dataType, "java.time.OffsetDateTime");
|
||||
Assert.assertEquals(property3.name, "createdAt");
|
||||
Assert.assertEquals(property3.defaultValue, null);
|
||||
Assert.assertEquals(property3.baseType, "java.time.LocalDateTime");
|
||||
Assert.assertEquals(property3.baseType, "java.time.OffsetDateTime");
|
||||
Assert.assertFalse(property3.hasMore);
|
||||
Assert.assertFalse(property3.required);
|
||||
Assert.assertFalse(property3.isContainer);
|
||||
@ -120,6 +121,30 @@ public class KotlinClientCodegenModelTest {
|
||||
codegen.setOpenAPI(openAPI);
|
||||
final CodegenModel cm = codegen.fromModel("sample", schema);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.dataType, "org.threeten.bp.OffsetDateTime");
|
||||
Assert.assertEquals(property3.name, "createdAt");
|
||||
Assert.assertEquals(property3.defaultValue, null);
|
||||
Assert.assertEquals(property3.baseType, "org.threeten.bp.OffsetDateTime");
|
||||
Assert.assertFalse(property3.hasMore);
|
||||
Assert.assertFalse(property3.required);
|
||||
Assert.assertFalse(property3.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a simple model: threetenbp-localdatetime")
|
||||
public void selectDateLibraryAsThreetenbpLocalDateTime() {
|
||||
final Schema schema = getSimpleSchema();
|
||||
final KotlinClientCodegen codegen = new KotlinClientCodegen();
|
||||
String value = KotlinClientCodegen.DateLibrary.THREETENBP_LOCALDATETIME.value;
|
||||
Assert.assertEquals(value, "threetenbp-localdatetime");
|
||||
codegen.setDateLibrary(KotlinClientCodegen.DateLibrary.THREETENBP_LOCALDATETIME.value);
|
||||
codegen.processOpts();
|
||||
|
||||
OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema);
|
||||
codegen.setOpenAPI(openAPI);
|
||||
final CodegenModel cm = codegen.fromModel("sample", schema);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.dataType, "org.threeten.bp.LocalDateTime");
|
||||
@ -164,6 +189,30 @@ public class KotlinClientCodegenModelTest {
|
||||
codegen.setOpenAPI(openAPI);
|
||||
final CodegenModel cm = codegen.fromModel("sample", schema);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.dataType, "java.time.OffsetDateTime");
|
||||
Assert.assertEquals(property3.name, "createdAt");
|
||||
Assert.assertEquals(property3.defaultValue, null);
|
||||
Assert.assertEquals(property3.baseType, "java.time.OffsetDateTime");
|
||||
Assert.assertFalse(property3.hasMore);
|
||||
Assert.assertFalse(property3.required);
|
||||
Assert.assertFalse(property3.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a simple model: date java8-localdatetime")
|
||||
public void selectDateLibraryAsJava8LocalDateTime() {
|
||||
final Schema schema = getSimpleSchema();
|
||||
final KotlinClientCodegen codegen = new KotlinClientCodegen();
|
||||
String value = KotlinClientCodegen.DateLibrary.JAVA8_LOCALDATETIME.value;
|
||||
Assert.assertEquals(value, "java8-localdatetime");
|
||||
codegen.setDateLibrary(KotlinClientCodegen.DateLibrary.JAVA8_LOCALDATETIME.value);
|
||||
codegen.processOpts();
|
||||
|
||||
OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema);
|
||||
codegen.setOpenAPI(openAPI);
|
||||
final CodegenModel cm = codegen.fromModel("sample", schema);
|
||||
|
||||
final CodegenProperty property3 = cm.vars.get(2);
|
||||
Assert.assertEquals(property3.baseName, "createdAt");
|
||||
Assert.assertEquals(property3.dataType, "java.time.LocalDateTime");
|
||||
|
@ -98,7 +98,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jackson_threetenbp_version = "2.9.10"
|
||||
feign_version = "9.7.0"
|
||||
feign_form_version = "2.1.0"
|
||||
|
@ -282,7 +282,7 @@
|
||||
<feign-version>9.7.0</feign-version>
|
||||
<feign-form-version>2.1.0</feign-form-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -98,7 +98,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jackson_threetenbp_version = "2.9.10"
|
||||
feign_version = "10.2.3"
|
||||
feign_form_version = "2.1.0"
|
||||
|
@ -282,7 +282,7 @@
|
||||
<feign-version>10.2.3</feign-version>
|
||||
<feign-form-version>2.1.0</feign-form-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -98,7 +98,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
google_api_client_version = "1.23.0"
|
||||
jersey_common_version = "2.25.1"
|
||||
jodatime_version = "2.9.9"
|
||||
|
@ -260,7 +260,7 @@
|
||||
<jersey-common-version>2.25.1</jersey-common-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -114,7 +114,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jersey_version = "1.19.4"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -292,7 +292,7 @@
|
||||
<commons_lang3_version>3.6</commons_lang3_version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<threetenbp-version>2.9.10</threetenbp-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -97,7 +97,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jersey_version = "2.27"
|
||||
junit_version = "4.12"
|
||||
}
|
||||
|
@ -279,7 +279,7 @@
|
||||
<jersey-version>2.27</jersey-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
|
@ -97,7 +97,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jersey_version = "2.27"
|
||||
junit_version = "4.12"
|
||||
threetenbp_version = "2.9.10"
|
||||
|
@ -285,7 +285,7 @@
|
||||
<jersey-version>2.27</jersey-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<threetenbp-version>2.9.10</threetenbp-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -208,7 +208,7 @@
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<jackson-version>2.9.9</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
</project>
|
||||
|
@ -97,7 +97,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
threetenbp_version = "2.9.10"
|
||||
resteasy_version = "3.1.3.Final"
|
||||
jodatime_version = "2.9.9"
|
||||
|
@ -245,7 +245,7 @@
|
||||
<resteasy-version>3.1.3.Final</resteasy-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<threetenbp-version>2.9.10</threetenbp-version>
|
||||
<jodatime-version>2.9.9</jodatime-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
|
@ -98,7 +98,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
spring_web_version = "4.3.9.RELEASE"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -269,7 +269,7 @@
|
||||
<spring-web-version>4.3.9.RELEASE</spring-web-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -98,7 +98,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
spring_web_version = "4.3.9.RELEASE"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -261,7 +261,7 @@
|
||||
<spring-web-version>4.3.9.RELEASE</spring-web-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<jackson-threetenbp-version>2.9.10</jackson-threetenbp-version>
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -282,7 +282,7 @@
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-version>2.6.6</jackson-version>
|
||||
<play-version>2.4.11</play-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<retrofit-version>2.5.0</retrofit-version>
|
||||
<oltu-version>1.0.1</oltu-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
|
@ -287,7 +287,7 @@
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<play-version>2.5.15</play-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<retrofit-version>2.5.0</retrofit-version>
|
||||
<threetenbp-version>1.4.0</threetenbp-version>
|
||||
<oltu-version>1.0.1</oltu-version>
|
||||
|
@ -99,7 +99,7 @@ ext {
|
||||
retrofit_version = "2.3.0"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
play_version = "2.6.7"
|
||||
swagger_annotations_version = "1.5.22"
|
||||
junit_version = "4.12"
|
||||
|
@ -292,7 +292,7 @@
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<play-version>2.6.7</play-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<retrofit-version>2.5.0</retrofit-version>
|
||||
<threetenbp-version>1.4.0</threetenbp-version>
|
||||
<oltu-version>1.0.1</oltu-version>
|
||||
|
@ -268,7 +268,7 @@
|
||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind>2.9.10.1</jackson-databind>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
</project>
|
||||
|
@ -114,7 +114,7 @@ ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.9.10"
|
||||
jackson_databind_version = "2.9.10.1"
|
||||
jackson_databind_nullable_version = "0.2.0"
|
||||
jackson_databind_nullable_version = "0.2.1"
|
||||
jersey_version = "1.19.4"
|
||||
jodatime_version = "2.9.9"
|
||||
junit_version = "4.12"
|
||||
|
@ -124,7 +124,7 @@
|
||||
<spring-web-version>5.0.8.RELEASE</spring-web-version>
|
||||
<jackson-version>2.9.10</jackson-version>
|
||||
<jackson-databind-version>2.9.10.1</jackson-databind-version>
|
||||
<jackson-databind-nullable-version>0.2.0</jackson-databind-nullable-version>
|
||||
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
<reactor-version>3.1.8.RELEASE</reactor-version>
|
||||
<reactor-netty-version>0.7.8.RELEASE</reactor-netty-version>
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,35 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.google.gson.TypeAdapter
|
||||
import com.google.gson.stream.JsonReader
|
||||
import com.google.gson.stream.JsonWriter
|
||||
import com.google.gson.stream.JsonToken.NULL
|
||||
import java.io.IOException
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME) : TypeAdapter<OffsetDateTime>() {
|
||||
@Throws(IOException::class)
|
||||
override fun write(out: JsonWriter?, value: OffsetDateTime?) {
|
||||
if (value == null) {
|
||||
out?.nullValue()
|
||||
} else {
|
||||
out?.value(formatter.format(value))
|
||||
}
|
||||
}
|
||||
|
||||
@Throws(IOException::class)
|
||||
override fun read(out: JsonReader?): OffsetDateTime? {
|
||||
out ?: return null
|
||||
|
||||
when (out.peek()) {
|
||||
NULL -> {
|
||||
out.nextNull()
|
||||
return null
|
||||
}
|
||||
else -> {
|
||||
return OffsetDateTime.parse(out.nextString(), formatter)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -4,6 +4,7 @@ import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import java.time.LocalDate
|
||||
import java.time.LocalDateTime
|
||||
import java.time.OffsetDateTime
|
||||
import java.util.UUID
|
||||
import java.util.Date
|
||||
|
||||
@ -11,6 +12,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val gsonBuilder: GsonBuilder = GsonBuilder()
|
||||
.registerTypeAdapter(Date::class.java, DateAdapter())
|
||||
.registerTypeAdapter(OffsetDateTime::class.java, OffsetDateTimeAdapter())
|
||||
.registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
|
||||
.registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
|
||||
.registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
|
||||
|
@ -31,7 +31,7 @@ data class Order (
|
||||
@SerializedName("quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@SerializedName("shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@SerializedName("status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -170,7 +170,7 @@ Get all pets
|
||||
//import org.openapitools.client.models.*
|
||||
|
||||
val apiInstance = PetApi()
|
||||
val lastUpdated : java.time.LocalDateTime = 2013-10-20T19:20:30+01:00 // java.time.LocalDateTime | When this endpoint was hit last to help indentify if the client already has the latest copy.
|
||||
val lastUpdated : java.time.OffsetDateTime = 2013-10-20T19:20:30+01:00 // java.time.OffsetDateTime | When this endpoint was hit last to help indentify if the client already has the latest copy.
|
||||
try {
|
||||
val result : kotlin.Array<Pet> = apiInstance.getAllPets(lastUpdated)
|
||||
println(result)
|
||||
@ -187,7 +187,7 @@ try {
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**lastUpdated** | **java.time.LocalDateTime**| When this endpoint was hit last to help indentify if the client already has the latest copy. | [optional]
|
||||
**lastUpdated** | **java.time.OffsetDateTime**| When this endpoint was hit last to help indentify if the client already has the latest copy. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
|
@ -164,7 +164,7 @@ class PetApi(basePath: kotlin.String = "http://petstore.swagger.io/v2") : ApiCli
|
||||
*/
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
|
||||
fun getAllPets(lastUpdated: java.time.LocalDateTime?) : kotlin.Array<Pet> {
|
||||
fun getAllPets(lastUpdated: java.time.OffsetDateTime?) : kotlin.Array<Pet> {
|
||||
val localVariableBody: kotlin.Any? = null
|
||||
val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
|
||||
.apply {
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -31,7 +31,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -8,6 +8,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -32,7 +32,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
internal class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ internal object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -31,7 +31,7 @@ internal data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -32,7 +32,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -31,7 +31,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -31,7 +31,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**org.threeten.bp.LocalDateTime**](org.threeten.bp.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**org.threeten.bp.OffsetDateTime**](org.threeten.bp.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import org.threeten.bp.OffsetDateTime
|
||||
import org.threeten.bp.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -31,7 +31,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: org.threeten.bp.LocalDateTime? = null,
|
||||
val shipDate: org.threeten.bp.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
||||
**id** | **kotlin.Long** | | [optional]
|
||||
**petId** | **kotlin.Long** | | [optional]
|
||||
**quantity** | **kotlin.Int** | | [optional]
|
||||
**shipDate** | [**java.time.LocalDateTime**](java.time.LocalDateTime.md) | | [optional]
|
||||
**shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) | | [optional]
|
||||
**status** | [**inline**](#StatusEnum) | Order Status | [optional]
|
||||
**complete** | **kotlin.Boolean** | | [optional]
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
package org.openapitools.client.infrastructure
|
||||
|
||||
import com.squareup.moshi.FromJson
|
||||
import com.squareup.moshi.ToJson
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
class OffsetDateTimeAdapter {
|
||||
@ToJson
|
||||
fun toJson(value: OffsetDateTime): String {
|
||||
return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
|
||||
}
|
||||
|
||||
@FromJson
|
||||
fun fromJson(value: String): OffsetDateTime {
|
||||
return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,7 @@ object Serializer {
|
||||
@JvmStatic
|
||||
val moshiBuilder: Moshi.Builder = Moshi.Builder()
|
||||
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
|
||||
.add(OffsetDateTimeAdapter())
|
||||
.add(LocalDateTimeAdapter())
|
||||
.add(LocalDateAdapter())
|
||||
.add(UUIDAdapter())
|
||||
|
@ -32,7 +32,7 @@ data class Order (
|
||||
@Json(name = "quantity")
|
||||
val quantity: kotlin.Int? = null,
|
||||
@Json(name = "shipDate")
|
||||
val shipDate: java.time.LocalDateTime? = null,
|
||||
val shipDate: java.time.OffsetDateTime? = null,
|
||||
/* Order Status */
|
||||
@Json(name = "status")
|
||||
val status: Order.Status? = null,
|
||||
|
@ -6,7 +6,7 @@ import org.openapitools.client.apis.PetApi
|
||||
import org.openapitools.client.apis.StoreApi
|
||||
import org.openapitools.client.models.Order
|
||||
import org.openapitools.client.models.Pet
|
||||
import java.time.LocalDateTime.now
|
||||
import java.time.OffsetDateTime.now
|
||||
|
||||
class StoreApiTest : ShouldSpec() {
|
||||
init {
|
||||
|
Loading…
x
Reference in New Issue
Block a user