Skip to content

Commit fd85359

Browse files
RasiveRasmus Zweidorff Iversen
andauthored
[Java] [apache-httpclient] Fix issue with toString causing wrong value with collections (#19576)
* Fix issue with toString causing wrong value with collections With collections, calling toString will result in the value becoming [a,b] instead of just a,b. Using the existing apiClient::parameterToString method ensures it gets parsed correctly if it is a collection * Updated samples --------- Co-authored-by: Rasmus Zweidorff Iversen <rzi@jysk.com>
1 parent 30b1a74 commit fd85359

File tree

5 files changed

+15
-15
lines changed

5 files changed

+15
-15
lines changed

modules/openapi-generator/src/main/resources/Java/libraries/apache-httpclient/api.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public class {{classname}} extends BaseApi {
9999
{{/required}}{{/allParams}}
100100
// create path and map variables
101101
String localVarPath = "{{{path}}}"{{#pathParams}}
102-
.replaceAll("\\{" + "{{baseName}}" + "\\}", apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}};
102+
.replaceAll("\\{" + "{{baseName}}" + "\\}", apiClient.escapeString(apiClient.parameterToString({{{paramName}}}))){{/pathParams}};
103103

104104
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
105105
String localVarQueryParameterBaseName;

samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/api/PathApi.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,10 @@ public String testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnu
9292

9393
// create path and map variables
9494
String localVarPath = "/path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path}"
95-
.replaceAll("\\{" + "path_string" + "\\}", apiClient.escapeString(pathString.toString()))
96-
.replaceAll("\\{" + "path_integer" + "\\}", apiClient.escapeString(pathInteger.toString()))
97-
.replaceAll("\\{" + "enum_nonref_string_path" + "\\}", apiClient.escapeString(enumNonrefStringPath.toString()))
98-
.replaceAll("\\{" + "enum_ref_string_path" + "\\}", apiClient.escapeString(enumRefStringPath.toString()));
95+
.replaceAll("\\{" + "path_string" + "\\}", apiClient.escapeString(apiClient.parameterToString(pathString)))
96+
.replaceAll("\\{" + "path_integer" + "\\}", apiClient.escapeString(apiClient.parameterToString(pathInteger)))
97+
.replaceAll("\\{" + "enum_nonref_string_path" + "\\}", apiClient.escapeString(apiClient.parameterToString(enumNonrefStringPath)))
98+
.replaceAll("\\{" + "enum_ref_string_path" + "\\}", apiClient.escapeString(apiClient.parameterToString(enumRefStringPath)));
9999

100100
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
101101
String localVarQueryParameterBaseName;

samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void deletePet(Long petId, String apiKey, Map<String, String> additionalH
145145

146146
// create path and map variables
147147
String localVarPath = "/pet/{petId}"
148-
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString()));
148+
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(apiClient.parameterToString(petId)));
149149

150150
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
151151
String localVarQueryParameterBaseName;
@@ -375,7 +375,7 @@ public Pet getPetById(Long petId, Map<String, String> additionalHeaders) throws
375375

376376
// create path and map variables
377377
String localVarPath = "/pet/{petId}"
378-
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString()));
378+
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(apiClient.parameterToString(petId)));
379379

380380
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
381381
String localVarQueryParameterBaseName;
@@ -523,7 +523,7 @@ public void updatePetWithForm(Long petId, String name, String status, Map<String
523523

524524
// create path and map variables
525525
String localVarPath = "/pet/{petId}"
526-
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString()));
526+
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(apiClient.parameterToString(petId)));
527527

528528
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
529529
String localVarQueryParameterBaseName;
@@ -605,7 +605,7 @@ public ModelApiResponse uploadFile(Long petId, String additionalMetadata, File _
605605

606606
// create path and map variables
607607
String localVarPath = "/pet/{petId}/uploadImage"
608-
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString()));
608+
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(apiClient.parameterToString(petId)));
609609

610610
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
611611
String localVarQueryParameterBaseName;
@@ -693,7 +693,7 @@ public ModelApiResponse uploadFileWithRequiredFile(Long petId, File requiredFile
693693

694694
// create path and map variables
695695
String localVarPath = "/fake/{petId}/uploadImageWithRequiredFile"
696-
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString()));
696+
.replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(apiClient.parameterToString(petId)));
697697

698698
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
699699
String localVarQueryParameterBaseName;

samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/api/StoreApi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void deleteOrder(String orderId, Map<String, String> additionalHeaders) t
6969

7070
// create path and map variables
7171
String localVarPath = "/store/order/{order_id}"
72-
.replaceAll("\\{" + "order_id" + "\\}", apiClient.escapeString(orderId.toString()));
72+
.replaceAll("\\{" + "order_id" + "\\}", apiClient.escapeString(apiClient.parameterToString(orderId)));
7373

7474
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
7575
String localVarQueryParameterBaseName;
@@ -210,7 +210,7 @@ public Order getOrderById(Long orderId, Map<String, String> additionalHeaders) t
210210

211211
// create path and map variables
212212
String localVarPath = "/store/order/{order_id}"
213-
.replaceAll("\\{" + "order_id" + "\\}", apiClient.escapeString(orderId.toString()));
213+
.replaceAll("\\{" + "order_id" + "\\}", apiClient.escapeString(apiClient.parameterToString(orderId)));
214214

215215
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
216216
String localVarQueryParameterBaseName;

samples/client/petstore/java/apache-httpclient/src/main/java/org/openapitools/client/api/UserApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public void deleteUser(String username, Map<String, String> additionalHeaders) t
283283

284284
// create path and map variables
285285
String localVarPath = "/user/{username}"
286-
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString()));
286+
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(apiClient.parameterToString(username)));
287287

288288
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
289289
String localVarQueryParameterBaseName;
@@ -357,7 +357,7 @@ public User getUserByName(String username, Map<String, String> additionalHeaders
357357

358358
// create path and map variables
359359
String localVarPath = "/user/{username}"
360-
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString()));
360+
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(apiClient.parameterToString(username)));
361361

362362
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
363363
String localVarQueryParameterBaseName;
@@ -584,7 +584,7 @@ public void updateUser(String username, User user, Map<String, String> additiona
584584

585585
// create path and map variables
586586
String localVarPath = "/user/{username}"
587-
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString()));
587+
.replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(apiClient.parameterToString(username)));
588588

589589
StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
590590
String localVarQueryParameterBaseName;

0 commit comments

Comments
 (0)