节点 Api 不响应邮递员或通过浏览器(无状态代码)但在终端上它没有显示错误

Node Api Doesn't Respond To Postman or through Browser (No Status Code) But on Terminal It showed no error

我正在为员工部门模型开发一个节点API

为此我开发了几个类似 'GET PUSH PATCH DELETE' 的请求(CRUD 操作) 对于最终员工和部门

我正在本地服务器上开发 这是我的 app.js 看起来像

const http=require('http');
const app =require('./app');

const port =process.env.PORT || 3000;

const server = http.createServer(app);

server.listen(port);

console.log('Server Has Been Started');
console.log('localhost:'+port);

而在听众方面,这是我的 app.js 看起来像

// Dependency 

const express = require('express');
const app = express();
const morgan =require('morgan');
const bodyParser =require('body-parser');
const mongoose =require('mongoose');


// Importing routes 

const employeeRoutes =require('./api/routes/employee');
const departmentRoutes =require('./api/routes/department');



app.use(morgan('dev'));
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());

// Header Defination to Avoid Corp's

app.use((req, res ,next) =>
{
    res.header("Access-Control-Allow-Origin","*");
    res.header(
        "Access-Control-Allow-Headers",
        "Origin,X-Requested-With,Content-Type,Accept,Authorization"
        );
    if (req.method === 'OPTIONS')
    {
        res.header('Access-Control-Allow-Methods','PUT,POST,PATCH,DELETE,GET');
        return res.status(200).json({});
    }




});

// Routes for api 
app.use('/employee',employeeRoutes);
app.use('/department',departmentRoutes);


// Error Handling 

app.use((req, res, next) =>
{ 
    const error =new Error('Not Found');
    error.status =404;
    next(error);

});

app.use((error, req, res, next) =>
{ 
    
    res.status(error.status ||500);
    res.json({
        error:{
            message:error.message
        }
    });

});




module.exports = app;

为了在另一端作为 json 发送请求和接收响应 我用 GET PUSH PATCH DELETE 开发了 employee .js 和 department .js 这是我的两个文件看起来像

./api/routes/employee.js

它只是展示验证代码是否正常工作的脚本

const express = require('express');
const router =express.Router();
const mongoose =require('mongoose');
const Employee =require('../models/Employee');

router.get('/',(req, res ,next) => {
    res.status(200).json({
        message:'Handling GET request to ./employees'
    });
});


router.post('/',(req, res ,next) => {
    res.status(201).json({
        message:'Handling POST request to ./employees',
       
    });
});

router.get('/:employeeId',(req, res ,next) =>
{
    const id =req.params.employeeId;
    if (id === 'special'){
        res.status(200).json({
            message: 'You Discovered A speacial ID',
            id:id
        });
    } else
    {
        res.status(200).json({
            message:'You passed an ID'
        });
    }
});

router.patch('/:employeeId',(req, res ,next) =>
{
    res.status(200).json({
        message:'Updated Employees'

    });
});


router.delete('/:employeeId',(req, res ,next) =>
{
    res.status(200).json({
        message:'Deleted  Employee'

    });
});



module.exports =router;

../api/routes/department.js

const express = require('express');
const router =express.Router();

router.get('/',(req, res ,next) =>{
    res.status(200).json({
        message:'Department fetched'
    });
});

router.post('/',(req, res ,next) =>{
    const department={
        name:req.body.name,
        Id:req.body.Id
    };
    res.status(201).json({
        message:'Department created',
        createdDepartment:department
    });
});

router.get('/:departmentId',(req, res ,next) =>{
    res.status(200).json({
        message:'Department Details',
        departmentId: req.params.departmentId
    });
});

router.delete('/:departmentId',(req, res ,next) =>{
    res.status(200).json({
        message:'Department Deleted',
        departmentId: req.params.departmentId
    });
});

router.patch('/:departmentId',(req, res ,next) =>
{
    res.status(200).json({
        message:'Department Updated',
        departmentId :req.params.departmentId

    });
});



module.exports =router;

现在,当我尝试 运行 这段代码作为我的编码经验时,它没有逻辑错误 它也在终端上显示 terminal o/p

但是当我尝试在邮递员中 运行 它只是加载没有响应回来 喜欢postman o/p

还有网络上的 web o/p

然后进入终端就像 terminal after get not respond still server is running

我知道连接有问题,但我仔细检查了所有可能的方式,比如禁用代理和防火墙

我还尝试删除节点模块和 package.json(锁定)并重新安装它们,但它们都不起作用 当我停止服务器邮递员显示套接字挂断 sockethangup postman 我想知道我哪里缺少有意义的答案

添加 next() 将请求传递给 CORS 部分之后的下一个中间件。

// Header Defination to Avoid Corp's

app.use((req, res ,next) =>
{
    res.header("Access-Control-Allow-Origin","*");
    res.header(
        "Access-Control-Allow-Headers",
        "Origin,X-Requested-With,Content-Type,Accept,Authorization"
        );
    if (req.method === 'OPTIONS')
    {
        res.header('Access-Control-Allow-Methods','PUT,POST,PATCH,DELETE,GET');
        return res.status(200).json({});
    }

  // Pass next middleware
  next();

});