Example #1
0
        /// <summary>
        /// 获取请求参数
        /// </summary>
        /// <returns></returns>
        private async Task <BaseQueryConfigurationDTO> QueryParam(RequestContext requestContext)
        {
            BaseQueryConfigurationDTO dto = default;

            //匹配请求规则
            if (requestContext.HttpContext.Request.Method == HttpMethod.Get.ToString())
            {
                dto = new BaseQueryConfigurationDTO();
                //获取请求的参数
                var queryStrings = requestContext.HttpContext.Request.Query;
                dto.Group = queryStrings["Group"].ToString();

                int.TryParse(queryStrings["EnvironmentType"].ToString(), out var environmentType);
                dto.EnvironmentType = environmentType;
            }
            else if (requestContext.HttpContext.Request.Method == HttpMethod.Post.ToString())
            {
                //获取传递的数据
                using (StreamReader stringReader = new StreamReader(requestContext.HttpContext.Request.Body))
                {
                    var param = await stringReader.ReadToEndAsync();

                    if (!string.IsNullOrWhiteSpace(param))
                    {
                        dto = param.ToObject <BaseQueryConfigurationDTO>(); //序列化
                    }
                }
            }
            return(dto);
        }
Example #2
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public async Task QueryDataAsync(RequestContext requestContext)
        {
            //获取请求参数
            BaseQueryConfigurationDTO dto = await QueryParam(requestContext);

            if (dto == null)
            {
                await WriteMessageAsync(requestContext.HttpContext, HttpStatusCode.BadRequest, "参数错误");

                return;
            }
            //获取数据
            var dataList = await unitOfWork.Query <ConfigurationEndPoint>()
                           .Where(a => a.EnvironmentType == dto.EnvironmentType)
                           .WhereIf(!string.IsNullOrWhiteSpace(dto.Group), a => a.Group == dto.Group).Select(a => new { a.Key, a.Value }).AsNoTracking().ToListAsync();

            //构建返回数据
            Dictionary <string, string> dic = new Dictionary <string, string>();

            if (dataList != null && dataList.Count() > 0)
            {
                dataList.ForEach(item =>
                {
                    dic.Add(item.Key, item.Value);
                });
            }
            await WriteMessageAsync(requestContext.HttpContext, HttpStatusCode.OK, dic.ToJson());
        }