diff --git a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ProtoRestSerializer.java b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ProtoRestSerializer.java index 4ca49ed2d..bf278e907 100644 --- a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ProtoRestSerializer.java +++ b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/ProtoRestSerializer.java @@ -101,9 +101,6 @@ RequestT fromJson(InputStream message, Charset messageCharset, Message.Builder b * @param fieldValue a field value */ public void putPathParam(Map fields, String fieldName, Object fieldValue) { - if (isDefaultValue(fieldName, fieldValue)) { - return; - } fields.put(fieldName, String.valueOf(fieldValue)); } @@ -116,11 +113,6 @@ public void putPathParam(Map fields, String fieldName, Object fi * @param fieldValue a field value */ public void putQueryParam(Map> fields, String fieldName, Object fieldValue) { - // Avoids empty query parameter - if (isDefaultValue(fieldName, fieldValue)) { - return; - } - ImmutableList.Builder paramValueList = ImmutableList.builder(); if (fieldValue instanceof List) { for (Object fieldValueItem : (List) fieldValue) { @@ -142,15 +134,4 @@ public void putQueryParam(Map> fields, String fieldName, Ob public String toBody(String fieldName, RequestT fieldValue) { return toJson(fieldValue); } - - private boolean isDefaultValue(String fieldName, Object fieldValue) { - // TODO: Revisit this approach to ensure proper default-value handling as per design. - if (fieldValue instanceof Number) { - return ((Number) fieldValue).longValue() == 0L; - } else if (fieldValue instanceof String) { - return ((String) fieldValue).isEmpty(); - } - - return false; - } } diff --git a/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoMessageRequestFormatterTest.java b/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoMessageRequestFormatterTest.java index e8986f61d..69b96065d 100644 --- a/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoMessageRequestFormatterTest.java +++ b/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoMessageRequestFormatterTest.java @@ -98,6 +98,7 @@ public void getQueryParamNames() { Map> queryParamNames = formatter.getQueryParamNames(field); Map> expected = new HashMap<>(); expected.put("number", Arrays.asList("2")); + expected.put("typeUrl", Arrays.asList("")); Truth.assertThat(queryParamNames).isEqualTo(expected); } diff --git a/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoRestSerializerTest.java b/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoRestSerializerTest.java index 77f9f72d3..16199dd40 100644 --- a/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoRestSerializerTest.java +++ b/gax-httpjson/src/test/java/com/google/api/gax/httpjson/ProtoRestSerializerTest.java @@ -115,7 +115,9 @@ public void putPathParam() { Map expectedFields = new HashMap<>(); expectedFields.put("optName1", "1"); + expectedFields.put("optName2", "0"); expectedFields.put("optName3", "three"); + expectedFields.put("optName4", ""); Truth.assertThat(fields).isEqualTo(expectedFields); } @@ -131,7 +133,9 @@ public void putQueryParam() { Map> expectedFields = new HashMap<>(); expectedFields.put("optName1", Arrays.asList("1")); + expectedFields.put("optName2", Arrays.asList("0")); expectedFields.put("optName3", Arrays.asList("three")); + expectedFields.put("optName4", Arrays.asList("")); expectedFields.put("optName5", Arrays.asList("four", "five")); Truth.assertThat(fields).isEqualTo(expectedFields);