The discovery has many modules, such as eureka,consul_kv,etcd_kv, and so on .

The modules api URI template should have a good structure:

/v1/discovery/<discovery_type>/<service_name>


So, the http api URI path =
The fixed prefix: /v1/discovery/ + defined discovery_type in yaml (eg: eureka) 
+ defined uris(eg: /dump)

My discovery_type is consul_kv, the consul_kv’s control api:

function _M.control_api()
    return {
        {
            methods = {"GET"},
            uris = {"/dump"},
            handler = dump_info
        },
        {
            methods = {"PUT"},
            uris = {"/update_kv"},
            handler = update_info
        }
    }
end


eg:

  *   /v1/discovery/consul_kv/dump
  *   /v1/discovery/consul_kv/update_kv

We maybe need another discovery module in future, as consul_service, we maybe 
need export the debugging api below:

  *   /v1/discovery/consul_service/view_all_services

What do you think ?


2021年2月1日 10:49,Zexuan Luo 
<[email protected]<mailto:[email protected]>> 写道:

I am confused by the ` defined uris(eg: `/dump`)` part. Why should we need
another part for the uri?
Why not use `v1/discovery/dump`?

聂永 <[email protected]<mailto:[email protected]>> 于2021年2月1日周一 
上午9:53写道:

Hi,

We don't need hardcode for discovery module's control api path.

The real http api path =
The fixed prefix: `/v1/discovery/` + defined `discovery_type` in yaml (eg:
`eureka`)  +  defined uris(eg: `/dump`)


2021年1月29日 22:13,Zexuan Luo 
<[email protected]<mailto:[email protected]><mailto:
[email protected]<mailto:[email protected]>>> 写道:

discovery typ



Reply via email to