缺少 POST 路由错误不在错误日志中

Missing POST route error is not in the error log

我有一个 NodeJS 服务器,但我忘记在页面上为 POST 添加路由。

我有一条 GET 路线,在 routes/public.js:

/**
 * GET /festas
 *
 * 
 */
router.get("/festas", async (req, res) => {
  return res.render('festas', {
    user: req.user,
    text: TEXT,  // equivalent of a global variable
  });
});

router.get("/:token", async (req, res) => {
  // Verifications, such as typos on the requested route,
  // not shown here.
  return res.redirect(301, "/404");
}

module.exports = router;

这个模块被app.js调用:

app.use('/', require('./routes/public'));

和 PUG 模板:

  .feedback
    h2 #{text.feedback.title}

    p #{text.feedback.body}

    .container
      form#commentForm(method="POST")
        .comment
          p #{text.feedback.comments}
  
          input(type="text", name="commentString")
  
        input.primary(type="submit", value="Submit")

当我点击页面上的“提交”按钮时,我看到:

Cannot POST /festas

但是我在错误日志中找不到这个错误。我想将此错误包含在错误日志中,以便我将来快速捕获此错误。

如何将缺少的 POST 路由添加到错误日志记录中?

我假设你是 express server 并且正在做这样的事情:

// router.js
router.get("/festas", async (req, res) => {
  return res.render("festas", {
    user: req.user,
    text: TEXT, // equivalent of a global variable
  });
});

// other routes, GET and POST.

export default router;

// App.js
app.use('/', router);
app.post('*', (req, res) => {
  // All unhandled POST routes end up here.
  console.error("Unhandled POST route: " + req.originalUrl);
  res.send('Not Found', 404);
});