Express中的路线:
/search/:company-name
/search/:category-name
我可以看到第一个请求被解雇,所以它们是相同的,但有没有办法解决这个问题而不涉及例如:
/search/company/:company-name
/search/category/:category-name
答案 0 :(得分:4)
您可以使用查询而不是参数。 你的网址是:
/search?company=company-name
/search?category=category-name
您的路线是/search
,您使用的是req.query而不是req.params。
就是这样,
答案 1 :(得分:3)
是的,它们是一样的。
路由器只看到以search/
开头并以通配符结尾的路由。唯一改变的是您给该通配符的名称,这对于路由器来说无关紧要,它仍然是相同的URL。
您可以通过更改路由来解决此问题,也可以解析路由参数(通配符)并根据其值执行不同的操作。