Postman中POST请求出现404 Not Found错误求助
后端POST路由404问题排查求助
我正在为应用搭建后端,已成功连接数据库并配置服务器端口,但创建首个POST路由时持续出现404 Not Found错误。错误提示两种可能:
- 不存在对应URL
- 完全无API/组织访问权限
我的代码
routes.js
const ContactList = require('./Model/ContactList'); app.post('/add-contact', async (request, response) => { const contactList = new ContactList(request.body); try { await contactList.save(); response.status(201).json({ status: 'Success', data: { contactList } }); } catch (err) { response.status(500).json({ status: 'Failed', message: err }); } });
Schema Model代码
const mongoose = require('mongoose'); const ContactListSchema = new mongoose.Schema({ first_name: { type: String, required: true }, last_name: { type: String, required: false }, email: { type: String, required: false }, phone: { type: Number, required: true }, birthday: { type: Date, required: false } }); const ContactList = mongoose.model('ContactList', ContactListSchema); module.exports = ContactList;
已尝试的排查操作
- 删除文件重新编写,排查拼写错误
- 反复核对服务器端口号
- 将请求协议从HTTP切换为HTTPS
- 在URL末尾添加斜杠
- 删除并重建MongoDB集群
- 修改路由为
http://localhost:8080/api/add-contact
Postman请求截图

问题排查建议
检查路由是否正确挂载到主应用
你的routes.js直接使用app.post,如果这是独立路由模块,需改用express.Router导出后在主文件挂载:// routes.js 修改后 const express = require('express'); const router = express.Router(); const ContactList = require('./Model/ContactList'); router.post('/add-contact', async (request, response) => { // 原逻辑不变 }); module.exports = router;然后在主文件(如app.js)中引入并挂载:
const contactRoutes = require('./routes'); // 若要加/api前缀,就用下面这句,否则直接app.use(contactRoutes) app.use('/api', contactRoutes);确认主应用已引入路由文件
检查主启动文件(server.js/app.js)是否正确require了routes.js,且挂载路径与请求URL匹配。比如挂载时用了/api前缀,请求URL就必须是http://localhost:8080/api/add-contact。核对请求方法与URL拼写
确保Postman使用POST方法,URL路径和路由完全一致(express路由默认区分大小写),比如不能把/add-contact写成/Add-Contact。检查中间件顺序
主应用中的路由挂载必须在错误处理中间件之前,否则请求会被错误处理逻辑提前拦截。验证服务器运行状态
在主启动文件中添加启动日志:app.listen(8080, () => console.log('服务器运行在8080端口'));确认服务器正常启动,且Postman请求的端口与日志显示一致。
内容的提问来源于stack exchange,提问作者Stocklearn101
相关产品推荐
相关产品推荐

