我使用node.js v8.11.1并表达4.16.3。

说我有以下路线

app.get('/:id', function(req, res){


我想做类似的事情

if(req.params.id) then query1
else //no id param in the url
query2


因此,我可以转到http://localhost:3000/http://localhost:3000/504,路由将相应地响应。

但是当我去http://localhost:3000/时,我只会得到Cannot GET /

如何修复路线?

谢谢

最佳答案

使用?运算符将路径参数设置为可选。

通过以下更改路线:

app.get('/:id?', function(req, res){

现在,它应该同时适用于以下两种:http://localhost:3000/http://localhost:3000/504

关于node.js - 带有或不带有参数的express.js路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50213266/

10-16 11:24
查看更多