[BUG][java][resttemplate] Fix NPE when query param with value null is exploded (#17568)

* Fix NPE when query param with value null is exploded

* Polish

* Add test

* Update tests

* Add integration test
This commit is contained in:
Jorge Rodríguez Martín
2024-01-10 16:39:41 +01:00
committed by GitHub
parent d0e533d573
commit 61c40474af
17 changed files with 150 additions and 56 deletions

View File

@@ -175,7 +175,7 @@ public class FakeApi {
final MultiValueMap<String, Object> localVarFormParams = new LinkedMultiValueMap<String, Object>();
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "query_1", query1));
if (header1 != null)
localVarHeaderParams.add("header_1", apiClient.parameterToString(header1));
@@ -588,7 +588,7 @@ public class FakeApi {
final MultiValueMap<String, Object> localVarFormParams = new LinkedMultiValueMap<String, Object>();
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "query", query));
final String[] localVarAccepts = { };
final List<MediaType> localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
@@ -818,7 +818,7 @@ public class FakeApi {
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_integer", enumQueryInteger));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_double", enumQueryDouble));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("multi".toUpperCase(Locale.ROOT)), "enum_query_model_array", enumQueryModelArray));
if (enumHeaderStringArray != null)
localVarHeaderParams.add("enum_header_string_array", apiClient.parameterToString(enumHeaderStringArray));
@@ -899,7 +899,7 @@ public class FakeApi {
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "required_int64_group", requiredInt64Group));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "string_group", stringGroup));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "int64_group", int64Group));
if (requiredBooleanGroup != null)
localVarHeaderParams.add("required_boolean_group", apiClient.parameterToString(requiredBooleanGroup));
@@ -1185,7 +1185,7 @@ public class FakeApi {
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("multi".toUpperCase(Locale.ROOT)), "context", context));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "language", language));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "allowEmpty", allowEmpty));
final String[] localVarAccepts = { };
final List<MediaType> localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

View File

@@ -185,7 +185,7 @@ public class PetApi {
final MultiValueMap<String, Object> localVarFormParams = new LinkedMultiValueMap<String, Object>();
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "status", status));
final String[] localVarAccepts = {
"application/xml", "application/json"
@@ -240,7 +240,7 @@ public class PetApi {
final MultiValueMap<String, Object> localVarFormParams = new LinkedMultiValueMap<String, Object>();
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "tags", tags));
final String[] localVarAccepts = {
"application/xml", "application/json"

View File

@@ -327,7 +327,7 @@ public class UserApi {
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "username", username));
localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "password", password));
final String[] localVarAccepts = {
"application/xml", "application/json"