src/app/api/health/route.ts
此代码来自构建时的仓库快照。修改源码后重新构建即可更新。
import { connection } from 'next/server';
import { getDb } from '@/server/db';
export async function GET() {
// 明确等到真实请求再执行,避免构建时缺少数据库配置而生成固定的失败响应。
await connection();
try {
// 就绪检查验证数据库可读;Redis 仅影响异步处理,不应让基本工单页面退出服务。
await getDb().$queryRaw`SELECT 1`;
return Response.json(
{ status: 'ok' },
{ headers: { 'Cache-Control': 'no-store' } },
);
} catch {
// 公开探针不返回数据库地址、SQL 或异常详情。
return Response.json(
{ status: 'unavailable' },
{ status: 503, headers: { 'Cache-Control': 'no-store' } },
);
}
}