Web API在响应中给出null

时间:2018-05-02 03:43:23

标签: c# rest asp.net-web-api response

我开发了一个web api,它带有两个日期时间参数(开始和结束),然后应该给出不同的记录。

public HttpResponseMessage GetMeterPing(DateTime start, DateTime end)
    {
        try
        {


            var startDateTime = start;
            var endDateTime = end;

            var result = medEntitites.tj_xhqd.Where(m => m.sjsj >= startDateTime && m.sjsj <= endDateTime)
                                             .OrderByDescending(o => o.sjsj)
                                             .Select(s => new { s.zdjh, s.sjsj, s.xhqd })
                                             .Distinct()
                                             .FirstOrDefault();                                             


            return Request.CreateResponse(HttpStatusCode.OK, new { data = result });


        }
        catch (Exception ex)
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
        }
    }

API网址: http://localhost:14909/api/meters/GetMeterPing/2018-04-28T00:00:00/2018-04-27T23:59:59

当我运行此web-api时,它会给我

  

{&#34;数据&#34;:空}

同时在调试时,result也是null

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:5)

您对问题的描述听起来像您正在执行的Linq查询没有返回任何结果,因此您对data的调用是默认的,也就是说它返回null。然后,您不执行其他验证,并使用此行集的结果作为具有 override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() self.lowerCollecVHCon.constant = numberOfItems * itemHeight } 属性的匿名投影的值进行响应。