在我的MongoDB / Node后端,我有一个非常标准的功能,可以通过POST请求向数据库添加新语言。它看起来像这样:
exports.add = async function(req, res) {
let request, doc;
request = new EndpointRequestController(req, res);
try {
doc = await request.save(Language, req.body);
} catch(err) {
return request.sendError('An error occurred while trying to find existing records.', err);
}
request.sendResponse(doc, res.status(201));
}
目前,这是有效的 - 当用户传递POST请求正文中的值时,新语言将添加到我们的语言集合中。
我想弄清楚的是,为什么这会回归" 204"响应,而不是" 201"状态我明确地作为回复的一部分发送到这里?我该怎么编辑这个来发送" 201"响应?
答案 0 :(得分:1)
您正在await
函数之外发送回复...您需要将res.send
置于等待函数
exports.add = async function(req, res) {
let request, doc;
request = new EndpointRequestController(req, res);
try {
doc = await request.save(Language, req.body);
res.status(201).send(doc)
} catch(err) {
return request.sendError('An error occurred while trying to find existing records.', err);
}
}