在我的后端 REST API 中,我有处理产品的路线
[GET] /products
[GET] /product/:id
[POST] /product/:id
我想在 1 个路由器中处理它们(因为所有这些路径都适用于产品),但问题是我不知道如何区分 /products
和 /product
。我尝试使用像 /product+[s]?
这样的正则表达式,但随后 /products/:id
也变成了有效的路径,它应该是无效的。
如何在同一个路由器中处理 /products
和 /product/:id
?
最佳答案
特定产品的正确 REST API 结构是 plural/{id}
,因此在您的情况下,理想情况下应该是 /products/:id
。
但是话虽如此,您可以使用正则表达式来匹配可选的s
。
app.all('/products?/:id?', function (req, res) {
//will match /product/id also /products/id also /product also /products
})
查看 official doc
了解更多信息。
关于node.js - 如何处理末尾带有可选 's' 字符的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901819/