mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
[Java] Add back byte array enhancement (#7546)
* add back byte array enhanceement * add okio dependency to java rest assured api client
This commit is contained in:
parent
9c79297d6a
commit
fec0363f7d
@ -26,6 +26,7 @@ import org.threeten.bp.format.DateTimeFormatter;
|
|||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
|
||||||
import {{modelPackage}}.*;
|
import {{modelPackage}}.*;
|
||||||
|
import okio.ByteString;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
@ -55,6 +56,7 @@ public class JSON {
|
|||||||
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
||||||
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
||||||
{{/jsr310}}
|
{{/jsr310}}
|
||||||
|
private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
|
||||||
|
|
||||||
public static GsonBuilder createGson() {
|
public static GsonBuilder createGson() {
|
||||||
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
||||||
@ -105,6 +107,7 @@ public class JSON {
|
|||||||
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
||||||
.registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
|
.registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
|
||||||
{{/jsr310}}
|
{{/jsr310}}
|
||||||
|
.registerTypeAdapter(byte[].class, byteArrayAdapter)
|
||||||
.create();
|
.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,6 +174,34 @@ public class JSON {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gson TypeAdapter for Byte Array type
|
||||||
|
*/
|
||||||
|
public class ByteArrayAdapter extends TypeAdapter<byte[]> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void write(JsonWriter out, byte[] value) throws IOException {
|
||||||
|
if (value == null) {
|
||||||
|
out.nullValue();
|
||||||
|
} else {
|
||||||
|
out.value(ByteString.of(value).base64());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte[] read(JsonReader in) throws IOException {
|
||||||
|
switch (in.peek()) {
|
||||||
|
case NULL:
|
||||||
|
in.nextNull();
|
||||||
|
return null;
|
||||||
|
default:
|
||||||
|
String bytesAsBase64 = in.nextString();
|
||||||
|
ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
|
||||||
|
return byteString.toByteArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
/**
|
/**
|
||||||
* Gson TypeAdapter for Joda DateTime type
|
* Gson TypeAdapter for Joda DateTime type
|
||||||
|
@ -105,6 +105,7 @@ ext {
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
threetenbp_version = "1.3.5"
|
threetenbp_version = "1.3.5"
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
okio_version = "1.13.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -118,5 +119,6 @@ dependencies {
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
compile "org.threeten:threetenbp:$threetenbp_version"
|
compile "org.threeten:threetenbp:$threetenbp_version"
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
compile "com.squareup.okio:okio:$okio_version"
|
||||||
testCompile "junit:junit:$junit_version"
|
testCompile "junit:junit:$junit_version"
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ lazy val root = (project in file(".")).
|
|||||||
resolvers += Resolver.mavenLocal,
|
resolvers += Resolver.mavenLocal,
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
"io.swagger" % "swagger-annotations" % "1.5.15",
|
"io.swagger" % "swagger-annotations" % "1.5.15",
|
||||||
"io.rest-assured" % "scala-support" % "3.0.6"
|
"io.rest-assured" % "scala-support" % "3.0.6",
|
||||||
"com.google.code.gson" % "gson" % "2.6.1",
|
"com.google.code.gson" % "gson" % "2.6.1",
|
||||||
"io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
|
"io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
@ -19,6 +19,7 @@ lazy val root = (project in file(".")).
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
"com.squareup.okio" % "okio" % "1.13.0" % "compile",
|
||||||
"junit" % "junit" % "4.12" % "test",
|
"junit" % "junit" % "4.12" % "test",
|
||||||
"com.novocode" % "junit-interface" % "0.10" % "test"
|
"com.novocode" % "junit-interface" % "0.10" % "test"
|
||||||
)
|
)
|
||||||
|
@ -212,24 +212,29 @@
|
|||||||
<version>${gson-version}</version>
|
<version>${gson-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
{{#joda}}
|
{{#joda}}
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>joda-time</groupId>
|
<groupId>joda-time</groupId>
|
||||||
<artifactId>joda-time</artifactId>
|
<artifactId>joda-time</artifactId>
|
||||||
<version>${jodatime-version}</version>
|
<version>${jodatime-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
{{/joda}}
|
{{/joda}}
|
||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.threeten</groupId>
|
<groupId>org.threeten</groupId>
|
||||||
<artifactId>threetenbp</artifactId>
|
<artifactId>threetenbp</artifactId>
|
||||||
<version>${threetenbp-version}</version>
|
<version>${threetenbp-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.gsonfire</groupId>
|
<groupId>io.gsonfire</groupId>
|
||||||
<artifactId>gson-fire</artifactId>
|
<artifactId>gson-fire</artifactId>
|
||||||
<version>${gson-fire-version}</version>
|
<version>${gson-fire-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.squareup.okio</groupId>
|
||||||
|
<artifactId>okio</artifactId>
|
||||||
|
<version>${okio-version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- test dependencies -->
|
<!-- test dependencies -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
@ -251,6 +256,7 @@
|
|||||||
{{#threetenbp}}
|
{{#threetenbp}}
|
||||||
<threetenbp-version>1.3.5</threetenbp-version>
|
<threetenbp-version>1.3.5</threetenbp-version>
|
||||||
{{/threetenbp}}
|
{{/threetenbp}}
|
||||||
|
<okio-version>1.13.0</okio-version>
|
||||||
<junit-version>4.12</junit-version>
|
<junit-version>4.12</junit-version>
|
||||||
</properties>
|
</properties>
|
||||||
</project>
|
</project>
|
||||||
|
@ -100,6 +100,7 @@ ext {
|
|||||||
gson_version = "2.6.1"
|
gson_version = "2.6.1"
|
||||||
gson_fire_version = "1.8.2"
|
gson_fire_version = "1.8.2"
|
||||||
threetenbp_version = "1.3.5"
|
threetenbp_version = "1.3.5"
|
||||||
|
okio_version = "1.13.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -107,5 +108,6 @@ dependencies {
|
|||||||
compile "io.rest-assured:scala-support:$rest_assured_version"
|
compile "io.rest-assured:scala-support:$rest_assured_version"
|
||||||
compile "io.gsonfire:gson-fire:$gson_fire_version"
|
compile "io.gsonfire:gson-fire:$gson_fire_version"
|
||||||
compile "org.threeten:threetenbp:$threetenbp_version"
|
compile "org.threeten:threetenbp:$threetenbp_version"
|
||||||
|
compile "com.squareup.okio:okio:$okio_version"
|
||||||
testCompile "junit:junit:$junit_version"
|
testCompile "junit:junit:$junit_version"
|
||||||
}
|
}
|
||||||
|
@ -10,10 +10,11 @@ lazy val root = (project in file(".")).
|
|||||||
resolvers += Resolver.mavenLocal,
|
resolvers += Resolver.mavenLocal,
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
"io.swagger" % "swagger-annotations" % "1.5.15",
|
"io.swagger" % "swagger-annotations" % "1.5.15",
|
||||||
"io.rest-assured" % "scala-support" % "3.0.6"
|
"io.rest-assured" % "scala-support" % "3.0.6",
|
||||||
"com.google.code.gson" % "gson" % "2.6.1",
|
"com.google.code.gson" % "gson" % "2.6.1",
|
||||||
"io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
|
"io.gsonfire" % "gson-fire" % "1.8.2" % "compile",
|
||||||
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
"org.threeten" % "threetenbp" % "1.3.5" % "compile",
|
||||||
|
"com.squareup.okio" % "okio" % "1.13.0" % "compile",
|
||||||
"junit" % "junit" % "4.12" % "test",
|
"junit" % "junit" % "4.12" % "test",
|
||||||
"com.novocode" % "junit-interface" % "0.10" % "test"
|
"com.novocode" % "junit-interface" % "0.10" % "test"
|
||||||
)
|
)
|
||||||
|
@ -211,16 +211,21 @@
|
|||||||
<artifactId>gson</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>${gson-version}</version>
|
<version>${gson-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.threeten</groupId>
|
<groupId>org.threeten</groupId>
|
||||||
<artifactId>threetenbp</artifactId>
|
<artifactId>threetenbp</artifactId>
|
||||||
<version>${threetenbp-version}</version>
|
<version>${threetenbp-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.gsonfire</groupId>
|
<groupId>io.gsonfire</groupId>
|
||||||
<artifactId>gson-fire</artifactId>
|
<artifactId>gson-fire</artifactId>
|
||||||
<version>${gson-fire-version}</version>
|
<version>${gson-fire-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.squareup.okio</groupId>
|
||||||
|
<artifactId>okio</artifactId>
|
||||||
|
<version>${okio-version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- test dependencies -->
|
<!-- test dependencies -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
@ -237,6 +242,7 @@
|
|||||||
<gson-fire-version>1.8.2</gson-fire-version>
|
<gson-fire-version>1.8.2</gson-fire-version>
|
||||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||||
<threetenbp-version>1.3.5</threetenbp-version>
|
<threetenbp-version>1.3.5</threetenbp-version>
|
||||||
|
<okio-version>1.13.0</okio-version>
|
||||||
<junit-version>4.12</junit-version>
|
<junit-version>4.12</junit-version>
|
||||||
</properties>
|
</properties>
|
||||||
</project>
|
</project>
|
||||||
|
@ -28,6 +28,7 @@ import org.threeten.bp.OffsetDateTime;
|
|||||||
import org.threeten.bp.format.DateTimeFormatter;
|
import org.threeten.bp.format.DateTimeFormatter;
|
||||||
|
|
||||||
import io.swagger.client.model.*;
|
import io.swagger.client.model.*;
|
||||||
|
import okio.ByteString;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
@ -46,6 +47,7 @@ public class JSON {
|
|||||||
private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
|
private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
|
||||||
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
|
||||||
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
|
||||||
|
private ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
|
||||||
|
|
||||||
public static GsonBuilder createGson() {
|
public static GsonBuilder createGson() {
|
||||||
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
GsonFireBuilder fireBuilder = new GsonFireBuilder()
|
||||||
@ -87,6 +89,7 @@ public class JSON {
|
|||||||
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
|
||||||
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
|
||||||
.registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
|
.registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
|
||||||
|
.registerTypeAdapter(byte[].class, byteArrayAdapter)
|
||||||
.create();
|
.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,6 +156,34 @@ public class JSON {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gson TypeAdapter for Byte Array type
|
||||||
|
*/
|
||||||
|
public class ByteArrayAdapter extends TypeAdapter<byte[]> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void write(JsonWriter out, byte[] value) throws IOException {
|
||||||
|
if (value == null) {
|
||||||
|
out.nullValue();
|
||||||
|
} else {
|
||||||
|
out.value(ByteString.of(value).base64());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte[] read(JsonReader in) throws IOException {
|
||||||
|
switch (in.peek()) {
|
||||||
|
case NULL:
|
||||||
|
in.nextNull();
|
||||||
|
return null;
|
||||||
|
default:
|
||||||
|
String bytesAsBase64 = in.nextString();
|
||||||
|
ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
|
||||||
|
return byteString.toByteArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gson TypeAdapter for JSR310 OffsetDateTime type
|
* Gson TypeAdapter for JSR310 OffsetDateTime type
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user