http请求中的这个语法是什么意思?

我需要了解这一行代码的含义

app.get("/users/:id", function(req, res){ var data = userModel.find().where('username', req); res.send(data); }); 

我不明白的部分是“/ users /:id”,具体是:id部分。 这个http请求的语法是什么意思?

在上面的代码中,发送GET请求到/users/42将导致42被存储在req.params.id

从本质上讲:id告诉express,无论是在请求URI中,其中:id在路由声明中应解释存储在req.params对象上,属性名称为id

你很可能会想要更类似于这样的东西:

 app.get("/users/:id", function(req, res){ var data = userModel.find().where('id', req.params.id); res.send(data); }); 
 Express uses the : to denote a variable in a route. For example /user/42 will render a request for user id - 42 /user/7 will render a request for user id - 7 but can be represented as a consistent form /users/:id where id is the variable, : represents that whatever is after it is a variable, like here we have :id - id being the variable. for reference check this out: http://expressjs.com/en/api.html