From 2c1ea7e0b07a9f77ce23d54fed9addd0593c6bf5 Mon Sep 17 00:00:00 2001 From: pantianying <601666418@qq.com> Date: Mon, 5 Aug 2019 20:54:29 +0800 Subject: [PATCH] fix code --- config/reference_config.go | 5 +++-- examples/general/dubbo/go-client/app/client.go | 2 +- filter/impl/generic_filter.go | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/config/reference_config.go b/config/reference_config.go index 4f2bdbbc2..db51dd291 100644 --- a/config/reference_config.go +++ b/config/reference_config.go @@ -171,10 +171,11 @@ func (refconfig *ReferenceConfig) getUrlMap() url.Values { urlMap.Set(constant.ENVIRONMENT_KEY, consumerConfig.ApplicationConfig.Environment) //filter - urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, constant.DEFAULT_REFERENCE_FILTERS)) + var defaultReferenceFilter = constant.DEFAULT_REFERENCE_FILTERS if refconfig.Generic { - urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, constant.GENERIC_REFERENCE_FILTERS)) + defaultReferenceFilter = defaultReferenceFilter + constant.DEFAULT_REFERENCE_FILTERS } + urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, defaultReferenceFilter)) for _, v := range refconfig.Methods { urlMap.Set("methods."+v.Name+"."+constant.LOADBALANCE_KEY, v.Loadbalance) diff --git a/examples/general/dubbo/go-client/app/client.go b/examples/general/dubbo/go-client/app/client.go index 956ab7466..b7ee0e662 100644 --- a/examples/general/dubbo/go-client/app/client.go +++ b/examples/general/dubbo/go-client/app/client.go @@ -301,7 +301,7 @@ func test3() { time.Sleep(3 * time.Second) println("\n\n\nstart to generic invoke") - resp, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke([]interface{}{"GetUser", []string{"java.lang.String"}, "A003"}) + resp, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke([]interface{}{"GetUser", []string{"java.lang.String"}, []interface{}{"A003"}}) if err != nil { panic(err) } diff --git a/filter/impl/generic_filter.go b/filter/impl/generic_filter.go index f65e51ddd..12cb4c7fa 100644 --- a/filter/impl/generic_filter.go +++ b/filter/impl/generic_filter.go @@ -81,7 +81,7 @@ func struct2MapAll(obj interface{}) interface{} { t := reflect.TypeOf(obj) v := reflect.ValueOf(obj) if t.Kind() == reflect.Struct { - result := make(map[string]interface{}) + result := make(map[string]interface{}, t.NumField()) for i := 0; i < t.NumField(); i++ { if v.Field(i).Kind() == reflect.Struct { if v.Field(i).CanInterface() { @@ -100,7 +100,7 @@ func struct2MapAll(obj interface{}) interface{} { return result } else if t.Kind() == reflect.Slice { value := reflect.ValueOf(obj) - var newTemps []interface{} + var newTemps = make([]interface{}, 0, value.Len()) for i := 0; i < value.Len(); i++ { newTemp := struct2MapAll(value.Index(i).Interface()) newTemps = append(newTemps, newTemp) -- GitLab