Example #1
0
        public async Task <IActionResult> GetNewsAsync([FromHeader] String source,
                                                       [FromRoute] SiteIdRoute route)
        {
            var response = new Response <NewsResponse>();

            try {
                var request = new GetDescriptor <WebNewsDoc>(_IWebNewsElastic.IndexName, route.id);
                // 排除返回字段
                request.SourceExcludes(a => new { a.DisplayType });
                // 只获取元数据
                var result = await this._IWebNewsElastic.Client
                             .GetAsync <NewsResponse>(request);

                if (result.ApiCall.Success && result.ApiCall.HttpStatusCode == 200)
                {
                    if (!string.IsNullOrEmpty(result.Source.NewsId))
                    {
                        response.Code = true;
                        response.Data = result.Source;
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception ex) {
                response.SetError(ex, this._ILogger);
            }
            return(response.ToHttpResponse());
        }