You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js API中PUT/DELETE请求返回404问题排查求助

解决Node.js API中PUT/DELETE请求返回404的问题

你的PUT和DELETE请求始终返回404的核心原因是路由路径缺少开头的斜杠/。Express框架要求路由路径必须以/开头,否则会被解析为相对路径,无法匹配到正确的处理逻辑。

错误代码对比与修正

原错误的路由定义:

app.put('api/courses/:id', (req, res) => { ... })
app.delete('api/courses/:id', (req, res) => { ... })

修改后的正确路由定义:

app.put('/api/courses/:id', (req, res) => {
    const course = courses.find(c => c.id === parseInt(req.params.id));
    if (!course) return res.status(404).send('This course with the given id was not found');

    const { error } = validateCourse(req.body);
    if (error) 
        return res.status(400).send(error.details[0].message);

    course.name = req.body.name;
    res.send(course);
});

app.delete('/api/courses/:id', (req, res) => {
    const course = courses.find(c => c.id === parseInt(req.params.id));
    if (!course) return res.status(404).send('this course with the given ID is not valid');
  
    const index = courses.indexOf(course);
    courses.splice(index, 1)

    res.send(course);
})

修改完成后,重新在Postman中发送PUT或DELETE请求,即可正常匹配路由并执行对应逻辑。

内容的提问来源于stack exchange,提问作者Coder1989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:45:36