Express.js - req.query 对比 req.params

Express.js - req.query vs req.params

在将此标记为重复之前,请理解我无法从其他答案中获得我正在寻找的解释。

如果我正在制作一个基于 URL id 寻找客户的应用程序,说 customers/1234 和使用 req.paramscustomers?id=1234 有什么区别并使用 req.query?这两种 url 数据方法有何不同?

根据 express docs 看来 req.queryreq.params 之间的差异就像您提到的一样,因为它们是实现相似最终结果的不同方式。您选择哪种方式实际上只是您个人对如何将数据传递给 Express 的偏好的问题。

一样,但是 customers/1234 在 URL 中比 customers?id=1234 更漂亮。

这取决于你喜欢什么,但是如果你比较网站,你会发现很多网站都使用第一种语法。以 Whosebug 为例。

在性能或功能上没有任何区别。具体是关于 restful 与非 restful 网址的标准。通常在 restful 服务上,资源标识部分位于路径中,查询或搜索用于过滤目的。这被认为是一种良好做法,并且是惯例。除了更易于阅读和识别之外,其背后没有实际的技术原因。您可以在

等地方了解更多相关信息

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

等等。 这完全取决于您要构建的内容以及您希望保持多接近标准