Node.js 这两条路线在nodejs中相同吗?
快车路线:Node.js 这两条路线在nodejs中相同吗?,node.js,express,Node.js,Express,快车路线: /search/:company-name /search/:category-name 我可以看到,第一个是为两个请求触发的,因此它们是相同的,但是有没有一种方法可以解决这个问题而不涉及以下内容,例如: /search/company/:company-name /search/category/:category-name 是的,它们是一样的 路由器只看到一条以search/开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个U
/search/:company-name
/search/:category-name
我可以看到,第一个是为两个请求触发的,因此它们是相同的,但是有没有一种方法可以解决这个问题而不涉及以下内容,例如:
/search/company/:company-name
/search/category/:category-name
是的,它们是一样的 路由器只看到一条以
search/
开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个URL
您可以通过更改路由来解决此问题,也可以解析路由参数(通配符),并根据其值执行不同的操作。是的,它们是相同的 路由器只看到一条以
search/
开头,以通配符结尾的路由。唯一改变的是你给那个通配符起的名字,这对路由器来说并不重要,它仍然是同一个URL
您可以通过更改路由来解决此问题,也可以解析路由参数(通配符),并根据其值执行不同的操作。您可以使用查询而不是参数。 您的URL将是:
/search?company=company-name
/search?category=category-name
您的路由是/search
,您使用req.query而不是req.params
要么是
- 或者你改变路线的方案
- 或者以某种方式解析参数以确定它是公司还是类别
- 或者更改到帖子的路径,并在帖子正文中使用键值对
- 您可以使用查询而不是参数。
您的URL将是:
/search?company=company-name
/search?category=category-name
您的路由是/search
,您使用req.query而不是req.params
要么是
- 或者你改变路线的方案
- 或者以某种方式解析参数以确定它是公司还是类别
- 或者更改到帖子的路径,并在帖子正文中使用键值对
/^\/search\/([^\/]+?)\/?$/i
。node.js/express如何在路由级别区分公司名称和类别名称?@DrakaSAN这是我的问题。在长版本中,溺水在速度上击败了我,但我的第一条评论是重复的。一旦你知道公司和类别是什么,你就可以将它们分开,但express不能帮你。你可以直接使用(express解析路由的方式)来检查将用于匹配请求的模式。对于两者,结果都是相同的–/^\/search\/([^\/]+?)\/?$/i
。是的,我也这么想。谢谢。是的,我也是这么想的。谢谢