Skip to content

Commit 3633233

Browse files
authored
Skip null form values for Java native request builder (#15036)
1 parent 1cdcaeb commit 3633233

7 files changed

Lines changed: 141 additions & 47 deletions

File tree

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,11 +496,15 @@ public class {{classname}} {
496496
{{#formParams}}
497497
{{#isArray}}
498498
for (int i=0; i < {{paramName}}.size(); i++) {
499-
formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.get(i).toString()));
499+
if ({{paramName}}.get(i) != null) {
500+
formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.get(i).toString()));
501+
}
500502
}
501503
{{/isArray}}
502504
{{^isArray}}
503-
formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.toString()));
505+
if ({{paramName}} != null) {
506+
formValues.add(new BasicNameValuePair("{{{baseName}}}", {{paramName}}.toString()));
507+
}
504508
{{/isArray}}
505509
{{/formParams}}
506510
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);

samples/client/echo_api/java/native/src/main/java/org/openapitools/client/api/FormApi.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,15 @@ private HttpRequest.Builder testFormIntegerBooleanStringRequestBuilder(Integer i
157157
localVarRequestBuilder.header("Accept", "text/plain");
158158

159159
List<NameValuePair> formValues = new ArrayList<>();
160-
formValues.add(new BasicNameValuePair("integer_form", integerForm.toString()));
161-
formValues.add(new BasicNameValuePair("boolean_form", booleanForm.toString()));
162-
formValues.add(new BasicNameValuePair("string_form", stringForm.toString()));
160+
if (integerForm != null) {
161+
formValues.add(new BasicNameValuePair("integer_form", integerForm.toString()));
162+
}
163+
if (booleanForm != null) {
164+
formValues.add(new BasicNameValuePair("boolean_form", booleanForm.toString()));
165+
}
166+
if (stringForm != null) {
167+
formValues.add(new BasicNameValuePair("string_form", stringForm.toString()));
168+
}
163169
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
164170
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
165171
try {

samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/FakeApi.java

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,20 +1032,48 @@ private HttpRequest.Builder testEndpointParametersRequestBuilder(BigDecimal numb
10321032
localVarRequestBuilder.header("Accept", "application/json");
10331033

10341034
List<NameValuePair> formValues = new ArrayList<>();
1035-
formValues.add(new BasicNameValuePair("integer", integer.toString()));
1036-
formValues.add(new BasicNameValuePair("int32", int32.toString()));
1037-
formValues.add(new BasicNameValuePair("int64", int64.toString()));
1038-
formValues.add(new BasicNameValuePair("number", number.toString()));
1039-
formValues.add(new BasicNameValuePair("float", _float.toString()));
1040-
formValues.add(new BasicNameValuePair("double", _double.toString()));
1041-
formValues.add(new BasicNameValuePair("string", string.toString()));
1042-
formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
1043-
formValues.add(new BasicNameValuePair("byte", _byte.toString()));
1044-
formValues.add(new BasicNameValuePair("binary", binary.toString()));
1045-
formValues.add(new BasicNameValuePair("date", date.toString()));
1046-
formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
1047-
formValues.add(new BasicNameValuePair("password", password.toString()));
1048-
formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
1035+
if (integer != null) {
1036+
formValues.add(new BasicNameValuePair("integer", integer.toString()));
1037+
}
1038+
if (int32 != null) {
1039+
formValues.add(new BasicNameValuePair("int32", int32.toString()));
1040+
}
1041+
if (int64 != null) {
1042+
formValues.add(new BasicNameValuePair("int64", int64.toString()));
1043+
}
1044+
if (number != null) {
1045+
formValues.add(new BasicNameValuePair("number", number.toString()));
1046+
}
1047+
if (_float != null) {
1048+
formValues.add(new BasicNameValuePair("float", _float.toString()));
1049+
}
1050+
if (_double != null) {
1051+
formValues.add(new BasicNameValuePair("double", _double.toString()));
1052+
}
1053+
if (string != null) {
1054+
formValues.add(new BasicNameValuePair("string", string.toString()));
1055+
}
1056+
if (patternWithoutDelimiter != null) {
1057+
formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
1058+
}
1059+
if (_byte != null) {
1060+
formValues.add(new BasicNameValuePair("byte", _byte.toString()));
1061+
}
1062+
if (binary != null) {
1063+
formValues.add(new BasicNameValuePair("binary", binary.toString()));
1064+
}
1065+
if (date != null) {
1066+
formValues.add(new BasicNameValuePair("date", date.toString()));
1067+
}
1068+
if (dateTime != null) {
1069+
formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
1070+
}
1071+
if (password != null) {
1072+
formValues.add(new BasicNameValuePair("password", password.toString()));
1073+
}
1074+
if (paramCallback != null) {
1075+
formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
1076+
}
10491077
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
10501078
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
10511079
try {
@@ -1172,9 +1200,13 @@ private HttpRequest.Builder testEnumParametersRequestBuilder(List<String> enumHe
11721200

11731201
List<NameValuePair> formValues = new ArrayList<>();
11741202
for (int i=0; i < enumFormStringArray.size(); i++) {
1175-
formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
1203+
if (enumFormStringArray.get(i) != null) {
1204+
formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
1205+
}
1206+
}
1207+
if (enumFormString != null) {
1208+
formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
11761209
}
1177-
formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
11781210
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
11791211
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
11801212
try {
@@ -1585,8 +1617,12 @@ private HttpRequest.Builder testJsonFormDataRequestBuilder(String param, String
15851617
localVarRequestBuilder.header("Accept", "application/json");
15861618

15871619
List<NameValuePair> formValues = new ArrayList<>();
1588-
formValues.add(new BasicNameValuePair("param", param.toString()));
1589-
formValues.add(new BasicNameValuePair("param2", param2.toString()));
1620+
if (param != null) {
1621+
formValues.add(new BasicNameValuePair("param", param.toString()));
1622+
}
1623+
if (param2 != null) {
1624+
formValues.add(new BasicNameValuePair("param2", param2.toString()));
1625+
}
15901626
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
15911627
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
15921628
try {

samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -724,8 +724,12 @@ private HttpRequest.Builder updatePetWithFormRequestBuilder(Long petId, String n
724724
localVarRequestBuilder.header("Accept", "application/json");
725725

726726
List<NameValuePair> formValues = new ArrayList<>();
727-
formValues.add(new BasicNameValuePair("name", name.toString()));
728-
formValues.add(new BasicNameValuePair("status", status.toString()));
727+
if (name != null) {
728+
formValues.add(new BasicNameValuePair("name", name.toString()));
729+
}
730+
if (status != null) {
731+
formValues.add(new BasicNameValuePair("status", status.toString()));
732+
}
729733
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
730734
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
731735
try {

samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -646,8 +646,12 @@ private HttpRequest.Builder updatePetWithFormRequestBuilder(Long petId, String n
646646
localVarRequestBuilder.header("Accept", "application/json");
647647

648648
List<NameValuePair> formValues = new ArrayList<>();
649-
formValues.add(new BasicNameValuePair("name", name.toString()));
650-
formValues.add(new BasicNameValuePair("status", status.toString()));
649+
if (name != null) {
650+
formValues.add(new BasicNameValuePair("name", name.toString()));
651+
}
652+
if (status != null) {
653+
formValues.add(new BasicNameValuePair("status", status.toString()));
654+
}
651655
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
652656
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
653657
try {

samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/FakeApi.java

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -875,20 +875,48 @@ private HttpRequest.Builder testEndpointParametersRequestBuilder(BigDecimal numb
875875
localVarRequestBuilder.header("Accept", "application/json");
876876

877877
List<NameValuePair> formValues = new ArrayList<>();
878-
formValues.add(new BasicNameValuePair("integer", integer.toString()));
879-
formValues.add(new BasicNameValuePair("int32", int32.toString()));
880-
formValues.add(new BasicNameValuePair("int64", int64.toString()));
881-
formValues.add(new BasicNameValuePair("number", number.toString()));
882-
formValues.add(new BasicNameValuePair("float", _float.toString()));
883-
formValues.add(new BasicNameValuePair("double", _double.toString()));
884-
formValues.add(new BasicNameValuePair("string", string.toString()));
885-
formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
886-
formValues.add(new BasicNameValuePair("byte", _byte.toString()));
887-
formValues.add(new BasicNameValuePair("binary", binary.toString()));
888-
formValues.add(new BasicNameValuePair("date", date.toString()));
889-
formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
890-
formValues.add(new BasicNameValuePair("password", password.toString()));
891-
formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
878+
if (integer != null) {
879+
formValues.add(new BasicNameValuePair("integer", integer.toString()));
880+
}
881+
if (int32 != null) {
882+
formValues.add(new BasicNameValuePair("int32", int32.toString()));
883+
}
884+
if (int64 != null) {
885+
formValues.add(new BasicNameValuePair("int64", int64.toString()));
886+
}
887+
if (number != null) {
888+
formValues.add(new BasicNameValuePair("number", number.toString()));
889+
}
890+
if (_float != null) {
891+
formValues.add(new BasicNameValuePair("float", _float.toString()));
892+
}
893+
if (_double != null) {
894+
formValues.add(new BasicNameValuePair("double", _double.toString()));
895+
}
896+
if (string != null) {
897+
formValues.add(new BasicNameValuePair("string", string.toString()));
898+
}
899+
if (patternWithoutDelimiter != null) {
900+
formValues.add(new BasicNameValuePair("pattern_without_delimiter", patternWithoutDelimiter.toString()));
901+
}
902+
if (_byte != null) {
903+
formValues.add(new BasicNameValuePair("byte", _byte.toString()));
904+
}
905+
if (binary != null) {
906+
formValues.add(new BasicNameValuePair("binary", binary.toString()));
907+
}
908+
if (date != null) {
909+
formValues.add(new BasicNameValuePair("date", date.toString()));
910+
}
911+
if (dateTime != null) {
912+
formValues.add(new BasicNameValuePair("dateTime", dateTime.toString()));
913+
}
914+
if (password != null) {
915+
formValues.add(new BasicNameValuePair("password", password.toString()));
916+
}
917+
if (paramCallback != null) {
918+
formValues.add(new BasicNameValuePair("callback", paramCallback.toString()));
919+
}
892920
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
893921
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
894922
try {
@@ -1012,9 +1040,13 @@ private HttpRequest.Builder testEnumParametersRequestBuilder(List<String> enumHe
10121040

10131041
List<NameValuePair> formValues = new ArrayList<>();
10141042
for (int i=0; i < enumFormStringArray.size(); i++) {
1015-
formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
1043+
if (enumFormStringArray.get(i) != null) {
1044+
formValues.add(new BasicNameValuePair("enum_form_string_array", enumFormStringArray.get(i).toString()));
1045+
}
1046+
}
1047+
if (enumFormString != null) {
1048+
formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
10161049
}
1017-
formValues.add(new BasicNameValuePair("enum_form_string", enumFormString.toString()));
10181050
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
10191051
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
10201052
try {
@@ -1415,8 +1447,12 @@ private HttpRequest.Builder testJsonFormDataRequestBuilder(String param, String
14151447
localVarRequestBuilder.header("Accept", "application/json");
14161448

14171449
List<NameValuePair> formValues = new ArrayList<>();
1418-
formValues.add(new BasicNameValuePair("param", param.toString()));
1419-
formValues.add(new BasicNameValuePair("param2", param2.toString()));
1450+
if (param != null) {
1451+
formValues.add(new BasicNameValuePair("param", param.toString()));
1452+
}
1453+
if (param2 != null) {
1454+
formValues.add(new BasicNameValuePair("param2", param2.toString()));
1455+
}
14201456
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
14211457
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
14221458
try {

samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,12 @@ private HttpRequest.Builder updatePetWithFormRequestBuilder(Long petId, String n
648648
localVarRequestBuilder.header("Accept", "application/json");
649649

650650
List<NameValuePair> formValues = new ArrayList<>();
651-
formValues.add(new BasicNameValuePair("name", name.toString()));
652-
formValues.add(new BasicNameValuePair("status", status.toString()));
651+
if (name != null) {
652+
formValues.add(new BasicNameValuePair("name", name.toString()));
653+
}
654+
if (status != null) {
655+
formValues.add(new BasicNameValuePair("status", status.toString()));
656+
}
653657
HttpEntity entity = new UrlEncodedFormEntity(formValues, java.nio.charset.StandardCharsets.UTF_8);
654658
ByteArrayOutputStream formOutputStream = new ByteArrayOutputStream();
655659
try {

0 commit comments

Comments
 (0)