gpt4 book ai didi

asp.net-core-mvc - ASP.Net Core MVC 日期时间参数

转载 作者:行者123 更新时间:2023-12-02 04:00:23 25 4
gpt4 key购买 nike

我想分享我如何在 .NET Core MVC Controller 中使用 DateTime 参数。我用它在我的解决方案中创建了日期范围过滤器功能。

不正确

[HttpGet, Route("dateRange/{start}/{end}")]
public IActionResult Get(DateTime start, DateTime end)
{
//invalid values (e.g. /bogus/52) get converted to a valid DateTime value of 1/1/0001 00:00:00.001
if (start != DateTime.MinValue && end != DateTime.MinValue)
{
if (start < end)
{
return Json(_Repo.GetByDateRange(start, end));
}
}
return BadRequest("Invalid Date Range");
}

最佳答案

更好的方法:

[HttpGet, Route("dateRange/{start:datetime}/{end:datetime}")]
public IActionResult Get(DateTime start, DateTime end)
{
if (start < end)
{
return Json(_Repo.GetByDateRange(start, end));
}
return BadRequest("Invalid Date Range");
}

关键是路由注释中的 :datetime 约束。这指示 .NET 强制执行 DateTime 并针对无效参数值自动返回 404 响应。这比在代码中检查输入和处理错误响应要干净得多。

关于asp.net-core-mvc - ASP.Net Core MVC 日期时间参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42210457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com