mvc.net DateTime with Time部分在URI中

时间:2009-12-30 12:09:24

标签: asp.net-mvc datetime uri modelbinders datetime-format

我有一组操作正在返回时间序列数据,其范围可指定为分钟。 它们与查询字符串一起工作正常 即
/mycontroller/myaction?from=20091201 10:31&to=20091202 10:34
有或没有URL编码冒号,但我认为有一个漂亮的URL会很高兴 /mycontroller/myaction/from-20091201 10:31/to-20091202 10:34
但是现在听到IIS的恐惧,因为它不喜欢URI中的冒号,所以我收到了“错误请求”的回复。

我的问题是,确保我可以留在那里的时间是什么是推荐的/标准的行动方案?

我是否需要编写自定义ModelBinder来解析自己的日期时间格式?这些操作是否应为fromto添加字符串,并使用自定义格式进行解析,例如"YYYYMMDD-HHmm"。我可以在某处指定自定义格式吗?如果是这样的话?或者我应该愚蠢地提出这个并坚持使用查询字符串参数?

哦,我看到很多人都在谈论RESTful URL;从我读过的内容来看,没有任何内容表明查询字符串不是RESTful - 它更多地是关于适当使用现有HTTP动作类型。

1 个答案:

答案 0 :(得分:2)

你是对的REST并不意味着它不在文件夹结构中而不是REST。

路径结构用于描述资源。查询字符串仍可用于描述此类资源的过滤子集。日期范围完全符合过滤条件,因此应该完美地将RESTful作为查询字符串传递。