我是Node.js和Express的新手,我想知道以下代码是否正确:

router.get('students/:name', async (req, res) => {
    const students = await Student.find(req.params.name);
    res.send(students);
});

router.get('students/:age', async (req, res) => {
    const students = await Student.find(req.params.age);
    res.send(students);
});


那么,Express如何找出只使用一个参数的哪条路线呢?例如,当我呼叫localhost:3000/students/20时,如果有些学生20岁,而某些学生的名字是“ 20”,该怎么办?

最佳答案

您应该在这种情况下使用req.query。像:/students?name=john&age=25

router.get('/students', async (req, res) => {
    let query = req.query; // {name: 'john',age:25}
    const students = await Student.find(query);
    res.send(students);
});

关于node.js - 快速路线参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57595733/

10-13 00:19