因此,基于我最近对 REST API 接口所做的大量研究,我有一个理论问题。
首先,我了解在 REST 中,资源应该是名词而不是动词,并且每个资源都应该与下一个资源解耦,但是资源可以返回相同的实体或实体集合,具体取决于资源的用途。
然而,我的重点是执行宁静的搜索。
在我所做的所有研究中,我遇到的最常见的解决方案是在 URL 中使用参数
api.test.com/search-cars?param1=val1¶m2=val2
现在虽然这是标准做法,并没有真正违反 REST 的规则,但为什么没有人将搜索参数表示为 id(可能是 JSON 的形式)
api.test.com/cars/{"color":"blue","year":"2013","make":"toyota"}
如果我将汽车视为一种资源并将我的 ID 表示为 JSON,我可以轻松地说我确实拥有有限数量的汽车,因此 ID 的数量是有限且唯一的。
此外,这通过符合“资源/ID”来促进纯粹的休息
使用第一个示例中的参数有什么好处和坏处?
使用 JSON 作为带有“过滤器”的 id,如第二个示例中的优点和缺点是什么?
您的所有评论都会非常有帮助,因为我需要就如何继续使用我的 API 的第一个资源做出最终决定。此外,我需要为我的老板提供强有力的论据,解释我为什么决定采用这两种方法。