2

我有一个 GPS 设备,我需要获取:
- 最后一个位置
- 位置历史

关于最后一个位置,我在 /devices/id_of_my_gps 上发出 GET 并返回 json {"latitude":2.3, "longitude":4.5, "timestamp": "2012-04-12T12:32:45Z"} 中的数据

关于位置的历史,我不确定最好的方法。
我正在考虑在 /devices/id_of_my_gps/history 上发出 GET 并提供“from”和“to”时间戳(需要检索历史记录的日期)作为查询字符串中的参数。这是否打破了 REST 方法?

更新

将 from/to 参数作为数据发送到 json: {"from":"2012-04-12T12:32:45Z", "to": "2012-04-15T12:32:45Z"} 会更好吗?

4

1 回答 1

3

我正在考虑在 /devices/id_of_my_gps/history 上发出 GET 并提供“from”和“to”时间戳(需要检索历史记录的日期)作为查询字符串中的参数。这是否打破了 REST 方法?

不会。REST 不限制查询参数的使用,因此您的方法没有任何问题。

将 from/to 参数作为数据发送到 json: {"from":"2012-04-12T12:32:45Z", "to": "2012-04-15T12:32:45Z"} 会更好吗?

使用较早的方法。您不能按照您的建议发出 GET 并在正文中发送数据。GET 请求不允许使用实体主体,因此如果您需要在实体主体中发送数据,而您的情况在语义上不正确,则必须使用其他一些 HTTP 方法(PUT 或 POST)。

于 2012-04-18T09:24:36.353 回答