Пример #1
0
        /// <summary>
        /// 设置网关配置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <BaseOutput> SetApiGatewayConfiguration(SetApiGatewayConfigurationInput input)
        {
            var configInfo = new ApiGatewayConfigurationInfo
            {
                GatewayId                = input.GatewayId,
                BaseUrl                  = input.BaseUrl,
                DownstreamScheme         = input.DownstreamScheme,
                GatewayKey               = input.GatewayKey,
                HttpHandlerOptions       = Json.ToJson(input.HttpHandlerOptions),
                LoadBalancerOptions      = Json.ToJson(input.LoadBalancerOptions),
                QoSOptions               = Json.ToJson(input.QoSOptions),
                RateLimitOptions         = Json.ToJson(input.RateLimitOptions),
                RequestIdKey             = input.RequestIdKey,
                ServiceDiscoveryProvider = Json.ToJson(input.ServiceDiscoveryProvider)
            };

            if (configInfo.GatewayId > 0)
            {
                await _configDbRepository.UpdateAsync(configInfo);
            }
            else
            {
                await _configDbRepository.InsertAsync(configInfo);
            }
            return(new BaseOutput {
            });
        }
        public BaseOutput SetApiGatewayConfiguration([FromBody] SetApiGatewayConfigurationInput input)
        {
            var configInfo = new ApiGatewayConfigurationModel
            {
                GatewayId                = input.GatewayId,
                BaseUrl                  = input.BaseUrl,
                DownstreamScheme         = input.DownstreamScheme,
                GatewayKey               = input.GatewayKey,
                HttpHandlerOptions       = Json.ToJson(input.HttpHandlerOptions),
                LoadBalancerOptions      = Json.ToJson(input.LoadBalancerOptions),
                QoSOptions               = Json.ToJson(input.QoSOptions),
                RateLimitOptions         = Json.ToJson(input.RateLimitOptions),
                RequestIdKey             = input.RequestIdKey,
                ServiceDiscoveryProvider = Json.ToJson(input.ServiceDiscoveryProvider)
            };

            if (configInfo.GatewayId > 0)
            {
                _adminDbContext.Updateable(configInfo).ExecuteCommand();
            }
            else
            {
                _adminDbContext.Insertable(configInfo).ExecuteCommand();
            }
            return(new BaseOutput {
            });
        }
Пример #3
0
 public async Task <BaseOutput> SetApiGatewayConfiguration([FromBody] SetApiGatewayConfigurationInput input)
 {
     return(await _microserviceBusines.SetApiGatewayConfiguration(input));
 }