【问题标题】:I am trying to make routes but somehow express routers are not working我正在尝试制作路线,但不知何故,快速路由器无法正常工作
【发布时间】:2023-02-09 15:25:48
【问题描述】:

我认为我没有在代码中犯任何错误。当我尝试在本地主机上访问它时,我不明白为什么这不起作用

服务器.js

const express = require('express')
const app = express();
const controller = require('./mailtemplate/mailtemplate.controller')
var http = require("http")

app.use('/mailtemplate', controller);

app.get('/', (req,res) => {
    res.send("Server is Live")
})


var server = http.createServer(app);

server.listen("3000", "here is my IP address", () => {
    console.log("Server is running")
});

控制器.js

const express = require('express');
const router = express.Router();
const app = express();
const mailtemplateService = require('./mailtemplate.service');

router.post('/template', getMail);
app.use(router)

function getMail(req, res, next) {
    mailtemplateService.getDataFromOpenAIAPI(req.body)
    .then((response) => {
        console.log(response);
        res.json();
    })
    .catch(err => next(err))
}


module.exports = router;

【问题讨论】:

    标签: javascript node.js express nodes


    【解决方案1】:

    您不应该在控制器中重新声明app,尝试将其更改为:

    const express = require('express');
    const router = express.Router();
    const mailtemplateService = require('./mailtemplate.service');
    
    function getMail(req, res, next) {
      mailtemplateService
        .getDataFromOpenAIAPI(req.body)
        .then((response) => {
          console.log(response);
          res.json();
        })
        .catch((err) => next(err));
    }
    
    router.post('/', getMail);
    
    module.exports = router;
    

    然后你的server.js为:

    const express = require('express')
    const app = express();
    const controller = require('./mailtemplate/mailtemplate.controller')
    
    // Don't forget the json middleware
    app.use(express.json());
    
    app.use('/mailtemplate', controller);
    
    app.get('/', (req,res) => {
        res.send("Server is Live")
    })
    
    app.listen("3000", "here is my IP address", () => {
        console.log("Server is running")
    });
    

    您应该能够使用此配置 GET /POST /mailtemplate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-25
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 2014-12-05
      • 2018-01-17
      相关资源
      最近更新 更多