【发布时间】:2018-10-15 11:51:52
【问题描述】:
我正在开发一个简单的 API,该 API 使用从表单客户端提供的信息执行对 SQL 数据库的 INSERT 查询,这些信息将在前端填写。我很好奇在构建有关查询错误的错误消息时是否有首选方法。
使用一个具体的例子,我有一个表格要由具有属性 A、B 和 C 的用户填写。在 SQL 数据库中,它们都强制执行“非空”约束。因此,如果提交的是空表单,则会返回以下错误对象:
{
...
errors:
[ ValidateErrorItem {
message: "model.a cannot be null"
type: "..."
path: "..."
value: "..."
.. },
ValidateErrorItem {
message: "model.b cannot be null"
type: "..."
path: "..."
value: "..."
.. },
ValidateErrorItem {
message: "model.c cannot be null"
type: "..."
path: "..."
value: "..."
.. },
]
}
通常如何构造一条错误消息以显示给用户(而不是简单地显示“查询发生错误”)?
注意:我知道可以使用前端验证来防止这种情况,但其他事情可能会出错(除了非空验证),所以这只是一个发生错误时的简单示例,不一定是我想要的在实践中做。
【问题讨论】:
标签: node.js postgresql api error-handling sequelize.js