修复 API 500 响应泄露内部错误细节
This commit is contained in:
+1
-1
@@ -98,7 +98,7 @@ describe("apiHandler", () => {
|
||||
const res = await handler(req, mockCtx);
|
||||
const data = await res.json();
|
||||
expect(res.status).toBe(500);
|
||||
expect(data.error).toBe("操作失败 [Error: unexpected]");
|
||||
expect(data.error).toBe("操作失败,请稍后重试");
|
||||
consoleSpy.mockRestore();
|
||||
});
|
||||
});
|
||||
|
||||
+4
-2
@@ -60,9 +60,11 @@ export function apiHandler(handler: RouteHandler): RouteHandler {
|
||||
{ status: 409 },
|
||||
);
|
||||
}
|
||||
const detail = e instanceof Error ? `${e.name}: ${e.message}` : String(e);
|
||||
console.error(`[API ${req.method} ${req.nextUrl.pathname}]`, e);
|
||||
return NextResponse.json({ error: `操作失败 [${detail}]` }, { status: 500 });
|
||||
return NextResponse.json(
|
||||
{ error: "操作失败,请稍后重试" },
|
||||
{ status: 500 },
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user