Dont output nil; test nil & omitempty

This commit is contained in:
kargakis 2015-09-03 15:32:19 +02:00
parent edfaa480cf
commit 6c32e071f4
2 changed files with 13 additions and 1 deletions

View File

@ -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 != "<nil>" {
val = iValue
}
values.Add(tag, val)
}
func addListOfParams(values url.Values, tag string, omitempty bool, list reflect.Value) {

View File

@ -151,6 +151,12 @@ func TestConvert(t *testing.T) {
},
expected: url.Values{"ptr": {"<nil>"}, "bptr": {"true"}},
},
{
input: &baz{
Ptr: intp(5),
},
expected: url.Values{"ptr": {"5"}},
},
}
for _, test := range tests {