diff --git a/config/config_loader.go b/config/config_loader.go
index 0000bebc3645be12adb03f087620f50577c5b322..138106541c6acd691c9dffd209191ffe0c07e886 100644
--- a/config/config_loader.go
+++ b/config/config_loader.go
@@ -91,7 +91,7 @@ func Load() {
 		logger.Warnf("consumerConfig is nil!")
 	} else {
 		// init rest consumer config
-		if err := ConsumerRestConfigInit(); err != nil {
+		if err := ConsumerRestConfigInit(consumerConfig.RestConfigType); err != nil {
 			log.Printf("[initConsumerRestConfig] %#v", err)
 		}
 		metricConfig = consumerConfig.MetricConfig
@@ -155,7 +155,7 @@ func Load() {
 		logger.Warnf("providerConfig is nil!")
 	} else {
 		// init rest provider config
-		if err := ProviderRestConfigInit(); err != nil {
+		if err := ProviderRestConfigInit(providerConfig.RestConfigType); err != nil {
 			log.Printf("[initProviderRestConfig] %#v", err)
 		}
 		// so, you should know that the consumer's config will be override
diff --git a/config/rest_config_loader.go b/config/rest_config_loader.go
index a1f13b7bc60dab2e22579e78394e71ae53466c7d..6596f7b274e8545fc8e053c3c4f88217338db9ea 100644
--- a/config/rest_config_loader.go
+++ b/config/rest_config_loader.go
@@ -40,9 +40,8 @@ var (
 )
 
 // initConsumerRestConfig ...
-func ConsumerRestConfigInit() error {
-	consumerConfigType := GetConsumerConfig().RestConfigType
-	consumerConfigReader := extension.GetSingletonRestConfigReader(consumerConfigType)
+func ConsumerRestConfigInit(configType string) error {
+	consumerConfigReader := extension.GetSingletonRestConfigReader(configType)
 	var restConsumerConfig *rest.RestConsumerConfig
 	var err error
 	if restConsumerConfig, err = consumerConfigReader.ReadConsumerConfig(); err != nil {
@@ -61,9 +60,8 @@ func ConsumerRestConfigInit() error {
 }
 
 // initProviderRestConfig ...
-func ProviderRestConfigInit() error {
-	providerConfigType := GetProviderConfig().RestConfigType
-	providerConfigReader := extension.GetSingletonRestConfigReader(providerConfigType)
+func ProviderRestConfigInit(configType string) error {
+	providerConfigReader := extension.GetSingletonRestConfigReader(configType)
 	var restProviderConfig *rest.RestProviderConfig
 	var err error
 	if restProviderConfig, err = providerConfigReader.ReadProviderConfig(); err != nil {
diff --git a/config/rest_config_loader_test.go b/config/rest_config_loader_test.go
index 62436b19cb70e0f6035a1ffacfe489e9039fee64..7b2491a501428f7e5c1701d8d49fbd0048913c6f 100644
--- a/config/rest_config_loader_test.go
+++ b/config/rest_config_loader_test.go
@@ -33,7 +33,7 @@ import (
 func TestGetRestConsumerServiceConfig(t *testing.T) {
 	err := os.Setenv(constant.CONF_CONSUMER_FILE_PATH, "./rest/config_reader/reader_impl/testdata/consumer_config.yml")
 	assert.NoError(t, err)
-	err = ConsumerRestConfigInit()
+	err = ConsumerRestConfigInit("default")
 	assert.NoError(t, err)
 	serviceConfig := GetRestConsumerServiceConfig("UserProvider")
 	assert.NotEmpty(t, serviceConfig)
@@ -51,7 +51,7 @@ func TestGetRestConsumerServiceConfig(t *testing.T) {
 func TestGetRestProviderServiceConfig(t *testing.T) {
 	err := os.Setenv(constant.CONF_PROVIDER_FILE_PATH, "./rest/config_reader/reader_impl/testdata/provider_config.yml")
 	assert.NoError(t, err)
-	err = ProviderRestConfigInit()
+	err = ProviderRestConfigInit("default")
 	assert.NoError(t, err)
 	serviceConfig := GetRestProviderServiceConfig("UserProvider")
 	assert.NotEmpty(t, serviceConfig)