RESTful 资源接受日期时间对象的好方法是什么?具体来说,我不确定在 URL 中将日期和时间表示为查询参数的好方法是什么。
我正在考虑做这样的事情:
GET /Calls?start=YYYY-MM-DD_HH:MM:SS
我在客户端使用 Javascript/jQuery,在后端使用 Python,所以理想情况下,它是一种可以很容易地用 Javascript 编写并用 Python 读取的格式。
谢谢!
RESTful 资源接受日期时间对象的好方法是什么?具体来说,我不确定在 URL 中将日期和时间表示为查询参数的好方法是什么。
我正在考虑做这样的事情:
GET /Calls?start=YYYY-MM-DD_HH:MM:SS
我在客户端使用 Javascript/jQuery,在后端使用 Python,所以理想情况下,它是一种可以很容易地用 Javascript 编写并用 Python 读取的格式。
谢谢!
大多数日期时间库(绝对是 Python 和 JS)都遵循相同的格式化方法,即格式化字符串。我会选择只使用数字并使用大小降序排列的任何一个,即 YYYYMMDDhhmmss。
在进入格式之前要考虑的另一件事是您是否可能需要通过更类似于日期范围的方式进行参数化,以及是否包括秒、分钟、小时等可能会过度指定请求并使其难以客户端来定位他们正在寻找的数据。
使用ISO 8601 标准将时间参数编码为字符串。它对人类来说是可读的,并得到了多种语言的大量库的支持。
我建议不要使用 Unix 时间。当您的系统管理员被要求抓取或解析您的 Web 服务器日志以进行 API 调用时,他们会感谢您。使用 ISO 8601 将避免他们不得不在该过程中构建第二个步骤,将 Unix 时间数字转换为实际人类必须理解的东西。
Unix 时间... http://en.wikipedia.org/wiki/Unix_time
为什么不只是YYYYMMDDHHMMSS
?
只要双方都能遵循这种格式,我看不出有什么问题