请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

在执行

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回答

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

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

感谢你的反馈和指正!

1 回复 有任何疑惑可以回复我~
  • 提问者 是胡桃呀 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-04-12 00:55:25
  • 嗯,也注意到这一点了。再说一下,应该是‘/api’父路由下的‘/’子路由能命中题主中说的两个中间件。‘/’子路由在浏览器中就等于父路由本身,对吧?
    回复 有任何疑惑可以回复我~ 2021-12-16 15:27:36
  • 秋得法 回复 大艾尔 #3
    你这说的不对,意思就是路径完全匹配比如/api,那就是localhost:8000/api
    回复 有任何疑惑可以回复我~ 2024-04-25 14:35:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信