Sequelize写入PostgreSQL失败,POST请求致服务器崩溃排查求助
排查方向
1. 验证POST请求的参数传递
- 确认前端发送的请求体中是否包含
name字段:用Postman、浏览器DevTools的Network面板查看请求内容,检查JSON或表单数据里是否有对应字段 - 检查请求头的
Content-Type是否正确:如果是JSON格式请求,必须设置Content-Type: application/json,否则后端无法正确解析请求体
2. 检查后端参数接收逻辑
- 确认Express已配置请求体解析中间件:必须在路由之前添加
express.json()或express.urlencoded({ extended: true }),否则req.body会是空对象 - 打印
req.body排查实际接收的参数:在brandController.js的create方法里添加console.log(req.body),看是否能拿到name值
3. 核对Sequelize模型定义
- 查看
Brand模型的name字段配置:确认是否设置了allowNull: false(报错明确显示违反该约束),如果业务允许为空可修改该配置,否则必须确保传入有效值 - 检查模型字段名与前端传递的是否一致:比如前端传
brandName但模型定义是name,会导致映射失败,name值为undefined
4. 检查数据写入的逻辑代码
- 查看
brandController.js第7行的brand.create()调用:确认传入的参数对象中是否正确包含name属性,比如是否存在变量名拼写错误、数据处理时丢失name值的情况
内容的提问来源于stack exchange,提问作者AleksM
相关产品推荐
相关产品推荐

