From 6c32e071f4ab1bcc6f63c20d8c72ceabae664cdd Mon Sep 17 00:00:00 2001 From: kargakis Date: Thu, 3 Sep 2015 15:32:19 +0200 Subject: [PATCH] Dont output nil; test nil & omitempty --- pkg/conversion/queryparams/convert.go | 8 +++++++- pkg/conversion/queryparams/convert_test.go | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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 {