将时间戳值传递给REST API

时间:2015-07-10 05:13:30

标签: rest

我有一个REST API,以/ v2 / users /结尾,用于相应的网址http://255.02.125.901:9087

如何将时间戳传递给API,比如今天早上8点,以便我可以获得所有更新。请回复将是json对象。

此致

3 个答案:

答案 0 :(得分:3)

将时间戳格式设置为ISO 8601

{
    "timestamp": "2015-07-05T22:16:18Z"
}

每种编程语言都有一个函数或库可用于将此格式解析为日期/时间对象。

答案 1 :(得分:1)

我喜欢传递自1970年以来的秒数的想法。这简化了URL并消除了时区问题。

但是,由于人类有时不得不提出这个数字,因此在响应中和记录请求时显示完成区域的实际时间可能会很好。

答案 2 :(得分:0)

您指定要从特定时间点检索所有更新。时间戳只是一些任意元数据,不应在请求的实际有效负载内传递。 Furhtemore,因为GET会阻止实体,你需要回退到POST,这会删除缓存响应的能力,而且还有一个完全不同的语义而不是检索!因此,我强烈建议不要将JSON正文中的时间戳发送给服务。

而是使用conditional GET request。这也会告诉您传递给服务的时间戳必须采用Date and Time Specification section of RFC 2822中指定的格式。

如果您不想使用条件GET请求,请尝试使用URI f.e.传递元数据。像这样:

/v2/users?year=2015&month=7&day=10&hour=11&minutes=9&seconds=10&timezone=CET

如果需要,还可以将时间戳封装在path-parameter中。不过,我建议使用条件get-requests