app.get('/api',... ), 和app.post('/api',... ),这两个函数并没有被执行

来源:10-5 express中间件

是胡桃呀

2021-03-08

在执行

app.get('/api/get-cookie', (req, res, next) => {
  console.log('/api/get-cookie路由');
  res.json({
    error: 0,
    data: req.cookie
  })
  next();
})

app.post('/api/get-post-data', (req, res, next) => {
  console.log('/api/get-post-data路由');
  res.json({
    error: 0,
    data: req.body
  })
  next();
})

这两个函数时,下面这两个函数并不会被执行打印

app.get('/api', (req, res, next) => {
  console.log('get /api路由');
  next();
})

app.post('/api', (req, res, next) => {
  console.log('post /api路由');
  next();
})

在课件中,log并没有被打印出来,但是老师讲解时说是执行了,请老师再次查看一下,这块讲解是否有出入。

写回答

1回答

双越

2021-03-08

我又详细看了一下,是我的表达有问题。

express 和 koa 的路由,是严格匹配的,即 /api/xxx 只能匹配 /api/xxx ,而不能匹配到 /api 。

感谢你的反馈和指正!

1
3
秋得法
回复
大艾尔
你这说的不对,意思就是路径完全匹配比如/api,那就是localhost:8000/api
2024-04-25
共3条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程