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

Express JS POST请求Postman返回404 Cannot GET错误解决求助

问题原因

1. Cluster模式逻辑错误

Node.js cluster模式下,master进程仅负责管理worker子进程,实际处理HTTP请求的是worker进程。你当前将express实例初始化、中间件注册、路由挂载、端口监听全部写在if(cluster.isMaster)代码块内,worker进程没有任何服务处理逻辑,请求分配到worker进程时无法匹配到对应路由,因此返回404。

2. 请求路径/方法不匹配

报错信息显示Cannot GET /,说明你发起POST请求时要么误选了GET请求方法,要么请求路径错误被重定向到了根路径的GET接口。你定义的POST接口路径为/v1/jp/post_api,注意不要遗漏前缀或写错接口名。

修复方案

第一步:修正server.js的cluster逻辑

将所有express服务相关代码移动到worker进程分支:

require('dotenv').config();
const express = require("express");
const http = require("http");

var addRequestId = require('express-request-id')();
const requestIp = require('request-ip');
const cron = require("node-cron");
const cluster = require('cluster');
const os = require('os');
const v1 = require('./routes/v1');
const jobs = require('./routes/jobs/sync_job');
const bodyParser = require("body-parser");

// 主进程逻辑
if (cluster.isMaster) {
  const cpuCount = os.cpus().length;
  // 为每个CPU核心创建一个worker进程
  for (let j = 0; j < cpuCount; j++) {
    cluster.fork();
  }
  console.log("MASTER PROCESS RUNNING");

  // 监听worker进程退出,自动重启
  cluster.on('exit', function (worker) {
    console.log(`Worker ${worker.id} died`);
    console.log(`Starting a new one...`);
    cluster.fork();
  });
// worker进程逻辑:处理实际业务请求
} else {
  const port = 3000;
  const app = express();
  const server = http.createServer(app);

  // 注册全局中间件
  app.use(addRequestId);
  app.use(requestIp.mw())
  app.use(bodyParser.json({limit: '50mb'}));
  app.use(bodyParser.urlencoded({limit: '50mb', extended: false}));

  // 挂载路由
  app.use('/v1/jp', require('./routes/report_center'));

  // 启动服务监听
  server.listen(port, () => { 
    console.log(`WORKER ${cluster.worker.id} RUNNING ON PORT ${port}`);
  })
}

第二步:校验Postman请求配置

  1. 请求方法选择POST
  2. 请求地址填写http://你的服务地址:3000/v1/jp/post_api
  3. Headers中添加api_key字段,值为数据库client表中存储的有效api_key

可选优化

report_center.js中重复注册了bodyParser中间件,属于冗余代码可直接删除,server.js中已经全局注册过该中间件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:06:01