2
0
Эх сурвалжийг харах

🐛 fix(routes): 添加数据库唯一约束错误处理

- 当数据库操作出现唯一约束冲突时,返回明确的400错误提示
- 优化错误信息,帮助用户理解数据唯一性约束问题
yourname 1 сар өмнө
parent
commit
1caa2a7215

+ 6 - 0
packages/shared-crud/src/routes/generic-crud.routes.ts

@@ -307,6 +307,12 @@ export function createCrudRoutes<
           if (error instanceof z.ZodError) {
             return c.json({ code: 400, message: '参数验证失败', errors: JSON.parse(error.message) }, 400);
           }
+
+          // 处理数据库唯一约束错误
+          if (error instanceof Error && error.message.includes('duplicate key value violates unique constraint')) {
+            return c.json({ code: 400, message: '数据已存在,请检查唯一性约束' }, 400);
+          }
+
           return c.json({
             code: 500,
             message: error instanceof Error ? error.message : '创建资源失败'