From 7f2a27abed57b048886664b489d9104f9773665b Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Fri, 5 Dec 2025 21:46:37 -0800 Subject: [PATCH 1/2] Use String-based JSON deserialize method with fallback for String return types --- .../Java/libraries/okhttp-gson/ApiClient.mustache | 12 +++++++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- .../main/java/org/openapitools/client/ApiClient.java | 8 +++++++- 16 files changed, 116 insertions(+), 16 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache index 272ec8335d4e..4e109439c4e1 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache @@ -1202,7 +1202,17 @@ public class ApiClient { } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBodyString, returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java index eae6cf08e3d0..2621ef6a3727 100644 --- a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java @@ -972,7 +972,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java index ac7ace448cfd..8d7e00d7210b 100644 --- a/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java @@ -946,7 +946,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java index 5b0394132f62..f256ffc10a6e 100644 --- a/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java @@ -946,7 +946,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java index 3f98dcab8cdf..3cb53d94b471 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java @@ -946,7 +946,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java index cc603ed23aaa..6cb615005273 100644 --- a/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java @@ -1062,7 +1062,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java index 00f7c14830c1..fd9b65ea7996 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java @@ -1047,7 +1047,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java index 9cb1a6c28e30..deca53412e23 100644 --- a/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java @@ -1045,7 +1045,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java index ab6aeb26c696..1fd8391fc9ff 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java @@ -1048,7 +1048,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java index 506ad6fc6202..9f8554ab58bf 100644 --- a/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java @@ -1042,7 +1042,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java index 2055b0251e44..e4b0abebe961 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java @@ -1116,7 +1116,13 @@ public T deserialize(Response response, Type returnType) throws ApiException } try { if (isJsonMime(contentType)) { - return JSON.deserialize(respBody.byteStream(), returnType); + if (returnType.equals(String.class)) { + // Use String-based deserialize for String return type with fallback + return JSON.deserialize(respBody.string(), returnType); + } else { + // Use InputStream-based deserialize which supports responses > 2GB + return JSON.deserialize(respBody.byteStream(), returnType); + } } else if (returnType.equals(String.class)) { String respBodyString = respBody.string(); if (respBodyString.isEmpty()) { From e1576adc99031b5644c16011cd2c9d44a31c0d1b Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Fri, 5 Dec 2025 21:46:46 -0800 Subject: [PATCH 2/2] Regenerate samples --- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- .../src/main/java/org/openapitools/client/ApiClient.java | 6 +++++- 15 files changed, 75 insertions(+), 15 deletions(-) diff --git a/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java index 2621ef6a3727..a0756f8f0404 100644 --- a/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java @@ -973,8 +973,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java index 8d7e00d7210b..2ff7f129fcad 100644 --- a/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-oneOf-array/src/main/java/org/openapitools/client/ApiClient.java @@ -947,8 +947,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java index f256ffc10a6e..d507003a0553 100644 --- a/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-oneOf/src/main/java/org/openapitools/client/ApiClient.java @@ -947,8 +947,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java index 3cb53d94b471..e4290cb085f1 100644 --- a/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/others/java/okhttp-gson-streaming/src/main/java/org/openapitools/client/ApiClient.java @@ -947,8 +947,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java index 6cb615005273..d825d48cb7a5 100644 --- a/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/ApiClient.java @@ -1063,8 +1063,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java index fd9b65ea7996..35e9a63991a6 100644 --- a/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-dynamicOperations/src/main/java/org/openapitools/client/ApiClient.java @@ -1048,8 +1048,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java index deca53412e23..6fecec124b5c 100644 --- a/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/ApiClient.java @@ -1046,8 +1046,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java index 1fd8391fc9ff..f2e9952d85d3 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/ApiClient.java @@ -1049,8 +1049,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-swagger1/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java index 9f8554ab58bf..74652ca94383 100644 --- a/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson-swagger2/src/main/java/org/openapitools/client/ApiClient.java @@ -1043,8 +1043,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType); diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java index e4b0abebe961..24593cf58ffe 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/ApiClient.java @@ -1117,8 +1117,12 @@ public T deserialize(Response response, Type returnType) throws ApiException try { if (isJsonMime(contentType)) { if (returnType.equals(String.class)) { + String respBodyString = respBody.string(); + if (respBodyString.isEmpty()) { + return null; + } // Use String-based deserialize for String return type with fallback - return JSON.deserialize(respBody.string(), returnType); + return JSON.deserialize(respBodyString, returnType); } else { // Use InputStream-based deserialize which supports responses > 2GB return JSON.deserialize(respBody.byteStream(), returnType);