Express Router GET请求console.log显示未定义的请求参数

时间:2017-07-04 23:10:44

标签: javascript json node.js express

我已经在SO上查找了相同的问题,因为我认为这对我来说是一个非常简单的错误,但我发现的最接近的是this link。我正在学习Node.JS,并且正在编写一个相对简单的端点来接收某个艺术家的获取请求:

router.get("/:artistID", (req, res) => {
  console.log(req.params);
  console.log(req.params.artistId);
  res.send(req.params);
})

我希望看到的是 1),一个JSON对象,{artistID:" whatIsent"}, 2) a"当我使用像Postman这样的API测试实用程序时,whatIsent",然后 3)与响应相同的JSON对象。

结果1)和3)按预期发生,但这是我在控制台中看到的内容:

{ artistID: 'whatIsent' }
undefined

这是我发送的GET请求: http://localhost:8080/artists/whatIsent

究竟发生了什么? Express是否将artistId转换为某个不是字符串的中间对象?

编辑:我使用了typeof req.params.artistId,它还返回了undefined ......

2 个答案:

答案 0 :(得分:2)

您将变量定义为artistID并尝试获取artistId。参数区分大小写。

答案 1 :(得分:1)

您的代码中有拼写错误。

应该是artistID而不是artistId