iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
0
Modern Web

讀官網文件邊走邊學nest.js系列 第 9

Day9-Exceptions in nest.js(上)

nest.js處理例外使用HttpException這個base class

例如:
app.controller.ts

...
 @Post()
  @UsePipes(UserDTOValidationPipe)
  create(@Body() userDTO: UserDTO){
    //丟出badreqest例外
   throw new HttpException('糟糕!您的要求有問題,請洽系統管理員', HttpStatus.BAD_REQUEST);
    
    return `使用者:${userDTO.username}已建立`;
  }
... 

使用postman測試

nest.js已經內建好常用的exception如:

  • BadRequestException
  • UnauthorizedException
  • NotFoundException
  • ForbiddenException

如:
app.controller.ts

...
  @Get('users')
  queryedList(@Query() query){
    throw new UnauthorizedException('請登入');
    return query;
  }
...

除了內建的exception,也可以自訂exception,在nest.js裡稱exception filters

這部分明天在繼續。


上一篇
Day8-Middleware in nest.js
下一篇
Day10-Exception in nest.js(下)
系列文
讀官網文件邊走邊學nest.js31

尚未有邦友留言

立即登入留言