在传递给控制器时,我应该使用什么Asp.net Mvc工具来自动将tick转换为DateTime ?



我希望我的api有漂亮的url

/controller/action/param1/param2...

我想要的是像

 public ActionResult Index([ConvertFromTicks]DateTime birthdate, string meal)
        {

或者甚至是全局ActionFilter…只要是最好的做法。我的问题是,路由机制甚至看不到控制器,除非传递给它一个有效的DateTime。这使得路由带有DateTime参数的漂亮url变得不可能。关于类似问题的其他答案建议将日期作为纪元以来的毫秒数或其他url友好格式传入,并在控制器中进行转换。我不想为每个使用DateTime参数的控制器(几乎所有60个)都这样做。我也不希望下一个维护这个解决方案的开发人员不得不记住调用这些神奇的单词,或者得到一个令人困惑的404,DateTime。解析异常或不一致的结果

我在这里有什么选择?

不知道你想要你的URL看起来像什么,如果目的是让URL人类可读和灵活,那么可能语法,如http://service/action?date=YYYY-MM-DDTHHMMSS或date="一些字符串"会给你最大的灵活性,并有一个静态助手方法来解析各种字符串。

因为你似乎有大量的控制器,我会选择动作过滤器,以保持代码干净。

最新更新