Update encode.go (#2019)

pull/2021/head
songzhibin97 3 years ago committed by GitHub
parent 8dec7cf5e8
commit 5e0744a47b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      transport/http/binding/encode.go

@ -28,13 +28,16 @@ func EncodeURL(pathTemplate string, msg proto.Message, needQuery bool) string {
} }
key := in[2 : len(in)-1] key := in[2 : len(in)-1]
vars := strings.Split(key, ".") vars := strings.Split(key, ".")
if value, err := getValueByField(msg.ProtoReflect(), vars); err == nil { value, err := getValueByField(msg.ProtoReflect(), vars)
if err != nil {
return in
}
pathParams[key] = struct{}{} pathParams[key] = struct{}{}
return "/" + value return "/" + value
}
return in
}) })
if needQuery { if !needQuery {
return path
}
u, err := form.EncodeValues(msg) u, err := form.EncodeValues(msg)
if err == nil && len(u) > 0 { if err == nil && len(u) > 0 {
for key := range pathParams { for key := range pathParams {
@ -45,7 +48,6 @@ func EncodeURL(pathTemplate string, msg proto.Message, needQuery bool) string {
path += "?" + query path += "?" + query
} }
} }
}
return path return path
} }

Loading…
Cancel
Save