express.js链路以任何顺序排列

时间:2016-06-06 01:39:11

标签: javascript node.js mongodb express routing

我正在快递中制作一个有许多端点的API,例如:

product/colour/:COLOUR
product/brand/:BRAND
product/size/:SIZE
product/gender/:GENDER

问题是,我希望用户能够以他们喜欢的顺序链接这些端点,例如,一个用户可以键入此端点:

product/size/:SIZE/colour/:COLOUR/gender/:GENDER/

但另一位用户可能会输入

product/gender/:GENDER/size/:SIZE/colour/:COLOUR

有没有办法做到这一点,而不是为每种可能的组合创建数百条路线?

提前致谢, 蚂蚁

2 个答案:

答案 0 :(得分:1)

可能是查询字符串适合这种情况。

/product?colour=red&size=xl&gender=male

答案 1 :(得分:-1)

所有已定义的路由器都不匹配。

您可以使用此路线匹配您所需的一切,

product/:key1/:value1/:key2/:value2/:key3/:value3

然后您可以使用' if'检查控制器路径上的键/值对