[feature: refactor register metadata & add shenyu_error.] (#7)

* [feature: add default handle logic & refactor shenyu_admin_client.go.]

* [feature: fix default password.]

* [feature: add register metadata & go package management.]

* [feature: refactor register metadata & add shenyu_error.]

Co-authored-by: lishuo <lishuo@mesomia-tech.com>
10 files changed
tree: 5c61b2883ffb1781e3f6979f4ad1464461fd380a
  1. clients/
  2. common/
  3. example/
  4. model/
  5. .asf.yaml
  6. .gitignore
  7. DISCLAIMER
  8. go.mod
  9. go.sum
  10. LICENSE
  11. NOTICE
  12. README.md
README.md

shenyu-client-golang 中文

license


Shenyu-client-golang

Shenyu-client-golang for Go client allows you to access ShenYu Gateway,it supports registory go service to ShenYu Gateway.

Requirements

Supported Go version over 1.12

Supported ShenYu version over 2.4.3

Installation

Use go get to install SDK:

$ go get -u github.com/apache/incubator-shenyu-client-golang

How to use

1.Fist make sure The ShenYuAdmin is Started, and ShenYuAdmin service active port is 9095.

2.Step 1 Get shenyu_admin_client. (Register service need this)

//init ShenYuAdminClient
adminClient := &model.ShenYuAdminClient{
    UserName: "admin",  //require user provide
    Password: "123456", //require user provide
}

adminToken, err := clients.NewShenYuAdminClient(adminClient)

The adminToken like this :
{
    "code":200,
    "message":"login dashboard user success",
    "data":{
        "id":"1",
        "userName":"admin",
        "role":1,
        "enabled":true,
        "dateCreated":"2018-06-23 15:12:22",
        "dateUpdated":"2022-03-09 15:08:14",
        "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjUwNjc5OTQ2fQ.K92Il2kmJ0X3FgjY4igW35-pw9nsf5VKdUyqBoyIaF4"
    }
}

When you success get toekn, you will see this :
this is ShenYu Admin client token -> eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjUwNjc5OTQ2fQ.K92Il2kmJ0X3FgjY4igW35-pw9nsf5VKdUyqBoyIaF4

3.Step 2 Register MetaData to ShenYu GateWay. (Need step 1 token to invoke)

//MetaDataRegister(Need Step 1 toekn adminToken.AdminTokenData)
metaData := &model.MetaDataRegister{
		AppName: "testMetaDataRegister", //require user provide
		Path:    "/your/path",           //require user provide
		Enabled: true,                   //require user provide
		Host:    "127.0.0.1",            //require user provide
		Port:    "8080",                 //require user provide
	}
	result, err := clients.RegisterMetaData(adminToken.AdminTokenData, metaData)
	if err != nil {
		logger.Warn("MetaDataRegister has error:",err)
	}
	logger.Info("finish register metadata ,the result is->", result)
	
	
When Register success , you will see this :  
finish register metadata ,the result is-> true