【发布时间】:2015-06-09 06:02:01
【问题描述】:
我有一个使用 Express (4.0.0) 公开的基于 NodeJS 的 REST 服务,其中我有两条不同的路线,如下所示:
router.get('/buckets/:bucketId/entities/bulk', getEntitiesInBulk);
router.get('/buckets/:bucketId/entities/:key', getEntityByKey);
当我发送这样的请求时:
http://<server:port>/buckets/responses/entities/k3
该请求正在由我在那里定义的getEntityByKey() 处理,但奇怪的是,当我用许多请求轰炸它时,它有时会由getEntitiesInBulk() 处理,并在响应中得到一些错误,只有getEntitiesInBulk() 抛出。
我完全不知道这怎么可能。
【问题讨论】:
-
您的路线设计存在冲突。它怎么知道
"bulk"不是:key?它应该如何知道选择哪条路线?您可以删除批量路由并在getEntityByKey()的第一行,检查if (key === "bulk")。如果是,执行getEntititesInBulk()。
标签: javascript node.js rest express