【发布时间】:2021-10-16 08:25:37
【问题描述】:
当我尝试使用邮递员测试我的 GET API 时,它返回 200 但正文为空,我期望获得的数据不会显示。
找到我的 server.js 文件和 POSTMAN 结果的截图
app.get('/api/articles/:name', async (req, res) => {
try {
const articleName = req.params.name;
const client = await MongoClient.connect('mongodb://localhost:27017', { useNewUrlParser: true });
const db = client.db('my-blog');
const articleInfo = await db.collection('articles').findOne({ name: articleName })
res.status(200).json(articleInfo)
client.close()
}
catch (error) {
res.status(500).json({ message: 'error connecting to db', error })
}
})
【问题讨论】:
-
您检查过代码中
articleInfo的值吗?您可以输入console.log或在调试模式下运行应用程序。 -
是的,我得到“未定义”仍在尝试解决它,我怀疑我的数据库连接,因为数据通常来自数据库。
-
我在我的机器上查看了你的代码,它运行良好,检查你的收藏名称是否以's'结尾 例如:文章不是文章
-
所以,您的代码没有任何问题。我相信两种情况是可能的,数据库连接有问题(检查参数)或数据库与给定的文章名称不匹配
-
@PrakashBhosale Ohkay,我的收藏名称是正确的谢谢。
标签: node.js api express get postman