我正在学习错误处理,并且不确定.json()
的作用。它只是存储.status()
的信息吗?这是在其他地方显示信息的方式吗? MDN文档不是很清楚。他们说这返回了诺言。不确定在这种情况下如何应用。如果有人可以指出正确的方向,我将不胜感激!
在构建我的CRUD操作时,这里只是一段代码。
deleteMovie = async (req, res) => {
await Movie.findOneAndDelete({ _id: req.params.id }, (err, movie) => {
if (err) {
return res.status(400).json({ success: false, error: err })
}
if (!movie) {
return res
.status(404)
.json({ success: false, error: `Movie not found` })
}
return res.status(200).json({ success: true, data: movie })
}).catch(err => console.log(err))
}
答案 0 :(得分:2)
已更正:您正在寻找的文档在这里:Express API文档中的https://expressjs.com/en/api.html#res.json。 .json()方法用于解析响应数据,并将其转换为您可能希望在应用程序中使用的友好JSON格式。期望看到在许多响应上使用.json(),而不仅仅是错误。
答案 1 :(得分:0)
是否仅存储.status()的信息
不。也不用于错误处理。 .status
的结果通过.
被链接,而.json
进一步返回JSON对象的响应
答案 2 :(得分:0)
响应处理中使用json
方法,而不是错误处理的一部分。这是Express Response对象中的方法之一。
此方法发送的响应(具有正确的内容类型)为 使用JSON.stringify()将参数转换为JSON字符串。
res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })
您可以将其作为以下代码的快捷方式
res.set('content-type', 'application/json');
res.send(JSON.stringify({"foo":"bar"}));