softlgl / Ocelot.Provider.Nacos

Repo for Nacos integration with Ocelot
72 stars 31 forks source link

增加一个扩展选项 #19

Open DwGoing opened 1 year ago

DwGoing commented 1 year ago

· 原扩展因为无法提供自定义的configuration参数,导致如果提供了自定义的Ocelot配置,Nacos的配置项必须在Ocelot的配置节点同级目录下,如:

{
    "Gateways": {
        "GlobalConfiguration": {
            ...
        },
        "Routes": [
            ...
        ],
        "Nacos": {
            ...
        }
    }
}
services.AddOcelot(gatewaysConfiguration).AddNacosDiscovery("Nacos");

· 新的扩展方法可以分离两个配置,并且更方便Ocelot的配置动态从Nacos获取,如:

{
    "Nacos": {
        ...
    },
    // 以下配置在Nacos中配置
    "Gateways": {
        "GlobalConfiguration": {
            ...
        },
        "Routes": [
            ...
        ]
    }
}
var rootConfiguration;
var nacosConfiguration; // 从Nacos获取
services.AddOcelot(nacosConfiguration.GetConfiguration("Gateways")).AddNacosDiscovery(rootConfiguration, "Nacos");