diff --git a/define/tag.go b/define/tag.go index 4f89323..060295c 100644 --- a/define/tag.go +++ b/define/tag.go @@ -30,4 +30,5 @@ const ( TagErrMsg = "err" // 验证失败错误信息tag TagContentType = "content_type" TagOutputContentType = "output_content_type" + TagNameOmitempty = "omitempty" ) diff --git a/struct_field.go b/struct_field.go index f6bb6e3..18a165d 100644 --- a/struct_field.go +++ b/struct_field.go @@ -34,7 +34,9 @@ func (psf parseStructField) GetParamName(structField reflect.StructField) string } for _, tag := range paramNameTagList { tagVal := structField.Tag.Get(tag) - if tagVal != "" { + tagVal = strings.TrimSuffix(strings.TrimPrefix(tagVal, define.TagNameOmitempty+","), ","+define.TagNameOmitempty) + tagVal = strings.Trim(tagVal, ",") + if tagVal != "" && tagVal != define.TagNameOmitempty { return tagVal } }