在将此标记为重复之前,请理解我无法从其他答案中获得我正在寻找的解释。
如果我根据网址ID创建了一个寻找客户的应用,那么说customers/1234
和使用req.params
和customers?id=1234
并使用{{1}有什么区别? }?两个url数据方法的作用有何不同?
答案 0 :(得分:5)
与性能或功能没有任何区别。是关于标准特别宁静与非宁静的网址。通常在休息服务上,资源识别部分位于路径上,查询或搜索用于过滤目的。这被认为是一种很好的做法,它是惯例。除了更容易阅读和识别之外,没有任何实际的技术原因。你可以在
等地方了解更多相关信息https://restfulapi.net/resource-naming/
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
https://hackernoon.com/restful-api-designing-guidelines-the-best-practices-60e1d954e7c9
其中。 这完全取决于你想要建立什么,以及你想要保持多么接近标准
答案 1 :(得分:0)
根据express docs,req.query
和req.params
之间的差异正如您所提到的那样,因为它们是实现类似最终结果的不同方式。你选择的只是你个人喜欢将数据传递给Express的问题。
答案 2 :(得分:0)
它是相同的,但customers/1234
比网址中的customers?id=1234
更漂亮。
这取决于您的喜好,但如果您比较网站,您会看到其中许多人使用第一种语法。以Stackoverflow为例。