// app/api/register/route.ts import { NextRequest } from "next/server"; import { UserService } from "@/lib/services/user.service"; import { ApiResponseHandler } from "@/lib/utils/api-response"; import { ValidationError } from "@/lib/errors/app-error"; export async function POST(request: NextRequest) { try { const body = await request.json(); const { email, name, password } = body; // 验证数据完整性 if (!email || !name || !password) { throw new ValidationError("缺少邮箱、姓名或密码"); } // 验证密码长度 if (password.length < 6) { throw new ValidationError("密码长度至少6位"); } // 使用服务层创建用户 const user = await UserService.createUser({ email, name, password, }); // 返回成功响应(不包含敏感信息) const userProfile = { id: user.id, email: user.email, name: user.name, createdAt: user.createdAt, }; return ApiResponseHandler.created(userProfile); } catch (error) { return ApiResponseHandler.error(error as Error); } }