diff --git a/tone-page-server/src/main.ts b/tone-page-server/src/main.ts index b396901..41ed8e0 100644 --- a/tone-page-server/src/main.ts +++ b/tone-page-server/src/main.ts @@ -1,11 +1,25 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; -import { ValidationPipe } from '@nestjs/common'; +import { BadRequestException, ValidationPipe } from '@nestjs/common'; import { ResponseInterceptor } from './common/interceptors/response.interceptor'; async function bootstrap() { const app = await NestFactory.create(AppModule); - app.useGlobalPipes(new ValidationPipe({ transform: true, whitelist: true })); + app.useGlobalPipes(new ValidationPipe({ + transform: true, + whitelist: true, + stopAtFirstError: true, + exceptionFactory: (errors) => { + const error = errors[0]; + const firstConstraint = error.constraints ? Object.values(error.constraints)[0] : '验证失败'; + + throw new BadRequestException({ + message: firstConstraint, + error: 'Bad Request', + statusCode: 400 + }); + } + })); app.useGlobalInterceptors(new ResponseInterceptor()); await app.listen(process.env.PORT ?? 3001); }