我正在重新说明这一点,因为我已经找出问题所在,但我无法理解它是如何发生或如何解决它的。NodeJs Express路由器错误
基本上,在我所有的路线中,我必须在那里添加DELETE路线。首先是如下
app.route('/bi/clubs/:id')
.post(authentication,clubController.getAll)
.delete(authentication,clubController.deleteClub);
第二个位置是
app.route('/bi/clubs/members')
.post(authentication,memController.getAll)
.delete(authentication,memController.deleteMember);
每当我打电话删除了“/ BI /俱乐部/成员”,表达的是实际的路由到/ BI /俱乐部/ :ID'。我实际上已经经历了,并且发现这种情况正在发生。
我可以验证我没有在应用程序的任何其他位置添加路线,如果我注释掉'/ bi/clubs/id'上的DELETE路线,那么第二条DELETE路线将正确路由。如果我不发表评论,则对DELETE'/ bi/clubs/members'的呼叫将路由到'/ bi/clubs /:id'。
我设置路线的顺序就像上面一样。
任何帮助将不胜感激。
那么服务器抛出的实际错误是什么?你没有提供很多细节...... – robertklep
这就是问题所在。我甚至没有收到我的日志文件或任何错误。我正在测试邮差,只是得到内部服务器错误。有趣的是,如果我将删除方法的路由更改为其他任何内容,那么它将起作用。 –
您确实需要提供更多信息(什么是'authentication'?getAll'工作吗?您是否在[调试模式](http://expressjs.com/en/guide/debugging.html)中运行了Express?)。 – robertklep