发送一个参数到邮差api get请求



我有一个控制器来获取大于某个日期的项目计数。存储库显示为:

    public Dictionary<int, int> GetAllComplaintsCount(DateTime start)
    {
        try
        {
            return _context.Checklists
                .Where(a => a.COMPLAINT.Received_DT > start)
                .GroupBy(a => a.MonitorEnteredEmpID)
                .ToDictionary(g => g.Key, g => g.Count());
        }
        catch (Exception ex)
        {
            _logger.LogError("Could not get am with checklist", ex);
            return null;
        }
    }

编辑我已经包含了我的路由器,看看它是否正确:

         app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "crams/{controller=Home}/{action=Index}/{id?}");
            routes.MapRoute(
                name: "route",
                template: "crams/{controller}/{action}/{start?}");
        });

Question没有start参数,我可以通过postman获得http://localhost:8000/crams/api/counts。我不确定,虽然,如何通过邮差合并日期,所以它只能拉日期大于开始。

I've try

http://localhost: 8000/集成/api/数量/2016-1-1但是返回null

/api/counts/2016-1-1返回null

你的API是:

... GetAllComplaintsCount(DateTime start)
所以你的url应该是:
/api/counts?start=2016-1-1

这是默认路由。由于您的问题中没有包含路由,我假设(考虑到症状)它是默认的:

/api/{controller}/{id}

例如使用/api/counts/2016-1-1指定"2016-1-1"作为id参数,但是您没有id参数,并且您没有为start指定值,因此您得到null。

你可以添加一个路由

/api/{controller}/{start}

我刚刚创建了一个api:

    [HttpGet]
    public string Test(DateTime d)
    {
        return d.ToString();
    }

并通过邮递员调用(尽管任何客户机都会给出相同的结果)

http://localhost/api/../Test?d = 2016-1-1

,它返回预期的"01/01/2016 00:00:00"

你可以尝试将tick传递给你的API

http://localhost: 8000/集成/api/数量/636027305821590000

public Dictionary<int, int> GetAllComplaintsCount(Int64 dateTicks)
    {
        try
        {
            var startDate = new DateTime(dateTicks);
            return _context.Checklists
                .Where(a => a.COMPLAINT.Received_DT > startDate)
                .GroupBy(a => a.MonitorEnteredEmpID)
                .ToDictionary(g => g.Key, g => g.Count());
        }
        catch (Exception ex)
        {
            _logger.LogError("Could not get am with checklist", ex);
            return null;
        }
    }

这是一个关于如何从日期(使用JS)获得tick的信息

如何将JavaScript日期对象转换为刻度

相关内容

  • 没有找到相关文章

最新更新