Node.js+MongoDB使用Postman测试出现Cannot GET/POST 404错误如何解决
问题根因
最直接的错误出现在 server.js 的路由注册逻辑中:
// 错误写法,缺少路径开头的正斜杠 app.use('api/items',items);
Express 注册路由前缀时,若路径未以 / 开头会按相对路径规则匹配,无法命中你预期的 /api/items 路由规则,因此所有指向该路径的请求都会返回404。
修复方案
将上述代码修改为带前缀斜杠的写法即可:
// 正确写法 app.use('/api/items',items);
其他可排查的常见问题
- 确认Postman请求参数完全匹配:GET/POST请求的目标地址应为
http://localhost:8000/api/items(远程部署时替换为对应域名/IP),注意检查拼写错误、端口号错误、多余后缀等问题。 - 确认项目文件结构与引入路径完全匹配:
server.js同级目录需存在routes/api/items.js文件items.js中引入模型的路径../../models/Item.js需正确指向数据模型文件
- 可添加全局404捕获中间件辅助定位,在所有路由注册代码后添加以下代码,可以打印所有未匹配请求的方法和路径,方便排查问题:
app.use('*', (req, res) => { console.log('未匹配的请求:', req.method, req.path); res.status(404).send('Not Found'); })
内容的提问来源于stack exchange,提问作者jenesaisquoi
相关产品推荐
相关产品推荐

