diff --git a/registry/base_registry.go b/registry/base_registry.go index ad1a3b61741e003625612ad58409eb8615271a84..797ffb2eaebefd691c4273c47b5fdfccd2c66cf9 100644 --- a/registry/base_registry.go +++ b/registry/base_registry.go @@ -326,7 +326,16 @@ func (r *BaseRegistry) providerRegistry(c common.URL, params url.Values, f creat } host += ":" + c.Port - rawURL = fmt.Sprintf("%s://%s%s?%s", c.Protocol, host, c.Path, params.Encode()) + //delete empty param key + for key, val := range params { + if len(val) > 0 && val[0] == "" { + params.Del(key) + } + } + + s, _ := url.QueryUnescape(params.Encode()) + rawURL = fmt.Sprintf("%s://%s%s?%s", c.Protocol, host, c.Path, s) + // Print your own registration service providers. dubboPath = fmt.Sprintf("/dubbo/%s/%s", r.service(c), (common.RoleType(common.PROVIDER)).String()) logger.Debugf("provider path:%s, url:%s", dubboPath, rawURL)