diff --git a/pkg/conversion/queryparams/convert.go b/pkg/conversion/queryparams/convert.go index ffa50170de0..9be5f581e61 100644 --- a/pkg/conversion/queryparams/convert.go +++ b/pkg/conversion/queryparams/convert.go @@ -74,7 +74,13 @@ func addParam(values url.Values, tag string, omitempty bool, value reflect.Value if omitempty && zeroValue(value) { return } - values.Add(tag, fmt.Sprintf("%v", value.Interface())) + val := "" + iValue := fmt.Sprintf("%v", value.Interface()) + + if iValue != "" { + val = iValue + } + values.Add(tag, val) } func addListOfParams(values url.Values, tag string, omitempty bool, list reflect.Value) { diff --git a/pkg/conversion/queryparams/convert_test.go b/pkg/conversion/queryparams/convert_test.go index 664e128046b..e068f0d9b08 100644 --- a/pkg/conversion/queryparams/convert_test.go +++ b/pkg/conversion/queryparams/convert_test.go @@ -151,6 +151,12 @@ func TestConvert(t *testing.T) { }, expected: url.Values{"ptr": {""}, "bptr": {"true"}}, }, + { + input: &baz{ + Ptr: intp(5), + }, + expected: url.Values{"ptr": {"5"}}, + }, } for _, test := range tests {