我不知道如何修复这个错误。
但是当我通过PostMan发送数据时,它很好地保存了所有内容并完成了它的工作,但是我在控制台上得到了这个错误。如果我删除.json(table).end(),它就可以工作了。
export const build_tab = async(req:明示请求,res:express.Response)=> { try{ const { seats,number } = req.body ;
if(!seats||!number){
return res.sendStatus(400);
}
const _id = require('uuid').v4() ;
const table = await createTable({
_id,
number,
seats
});
return res.sendStatus(200).json(table).end();
}
catch(error){
console.log(error) ;
return res.sendStatus(400) ;
}
字符串
}
1条答案
按热度按时间ffdz8vbo1#
res.sendStatus(<code>)
并不意味着与任何其他express函数链接,因为它自己设置状态并发送响应体。请参阅文档:将响应HTTP状态代码设置为statusCode,并将注册的状态消息作为文本响应正文发送。如果指定了一个未知的状态代码,则响应正文将只是代码编号。
因此,如果你想发送一个自定义的json body,不要使用
.sendStatus()
。相反,只需使用以下内容:字符串
请注意,您不需要在
.json(...)
后面加上.end()
。以下是.end()
的文档:用于在没有任何数据的情况下快速结束响应。如果您需要用数据进行响应,请改用res.send()和res.json()等方法。