我正在使用RESTful API创建服务,该服务将负责提供Oracle事务日志。该服务将提供GET和DELETE API以在给定时间范围内获取/删除事务日志。
为了创建API,我有两个选择:
::
或
GET: /table/{tableName}/logs?startTime=<>&endTime=<>
类似于删除用例。
你会选择哪一个?为什么?
答案 0 :(得分:1)
公平地说,REST对于解释是完全开放的,因为正确的是#34;但我可能会选择第一个选项。我认为URL应该按照逻辑顺序设计。首先,您正在查看表格,然后查看特定的表格,然后查看该表格的日志。这更符合逻辑。其次,当您在URL的末尾执行查询时,查询实际上是在日志上,因此尽可能使查询尽可能接近单词日志是最合乎逻辑的。
答案 1 :(得分:1)
REST没有说明网址的正确结构。事实上,它表明应该发现网址并与客户无关。创建逻辑URL结构被认为是最佳实践,但这仅适用于人类而非REST客户端。
哪个更好是完全主观的,但在基于REST的设计方面要么是正确的。
答案 2 :(得分:0)
正确的REST设计原则让我感到疲惫。关于这些,有很多非常情绪化的争论。所以我不知道基于REST的设计是什么,但我知道我会选择什么:
如果除了表之外还有其他与日志相关的资源,我会选择/logs/table/...
。如果没有,我会选择/table
。
顺便说一句,为什么table
而不是log
?资源是一个交易日志,不是吗?