簡體   English   中英

在 nestjs 服務中拋出 HttpException

[英]Throw HttpException at service in nestjs

在 nestjs 中將 Http Exeption 投入服務是一種好方法嗎? 在 nestjs 中處理服務錯誤的最佳方法是什么?

根據經驗,最佳實踐是手動在 controller 邏輯中拋出 HTTPExceptions,或者讓異常過濾器自動捕獲異常。 服務應該是可重用的功能,有時可以在非 http 上下文中使用。

在服務層中擁有 http 邏輯感覺就像是一種反模式。

要詳細說明這個答案, https://stackoverflow.com/a/73211663/1500042 ,您可以使用它來自動配置 http 代碼:

我的.controller.ts:

@Get()
async getIt(@Req() req) {
try {
  return await this.myService.getThe(req.thing);
} catch (error) {
  throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
}

這會發送“400”響應並責怪用戶(就像您所做的那樣)。 作為獎勵,它可以抵抗錯誤請求的崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM