我正在使用 NestJS 通过 MongoDB 创建自定义 API。我有以下设置:
// users.controller.ts
@Post('sign-up')
@UseFilters(MongoExceptionFilter)
async signUp(@Body() createUserDto: CreateUserDto): Promise<any> {
return await this.userService.signUp(createUserDto).catch(error => {
throw new BadRequestException(error);
});
}
Run Code Online (Sandbox Code Playgroud)
// user.service.ts
async signUp(createUserDto: CreateUserDto): Promise<User> {
const createUser = new this.userModel(createUserDto);
return await createUser.save();
}
Run Code Online (Sandbox Code Playgroud)
// mongo-exception.filter.ts
import { ArgumentsHost,Catch, ConflictException, ExceptionFilter } from '@nestjs/common';
import { MongoError } from 'mongodb';
@Catch(MongoError)
export class MongoExceptionFilter implements ExceptionFilter {
catch(exception: MongoError, host: ArgumentsHost) {
console.log('>>>>>>>>>>>>>>>>>>>> exception: ', exception);
}
}
Run Code Online (Sandbox Code Playgroud)
// package.json
"dependencies": { …Run Code Online (Sandbox Code Playgroud)