[TIL]NestJS勉強10日目
1111 ワード
前の文章に続いて、Guardsを勉強しましょう.
pipeと同様に、
このデコーダにはパラメータがあり,計算機でリストを分割することができる.
また,一度の宣言で設定をうまく適用できる.
1つの方法のみに適用することが望ましい場合、
また、global-guardを設定するには、
バインドガード
pipeと同様に、
controller-scoped
、method-scoped
、global-scoped
を用いることができる.デコーダは、@useGuards
contoller-scoped
を使用することができる.このデコーダにはパラメータがあり,計算機でリストを分割することができる.
また,一度の宣言で設定をうまく適用できる.
@Controller('cats')
@UseGuards(RolesGuard)
export class CatsController {}
このようにすると、上記のコントローラが宣言したすべてのハンドルにguardが付着します.1つの方法のみに適用することが望ましい場合、
@UseGuards
のmethod levelに適用することができる.また、global-guardを設定するには、
useGlobalGuards()
の方法を用いることができる.const app = await NestFactory.create(AppModule);
app.useGlobalGuards(new RolesGuard());
名前の通り、アプリケーション全体で使用されるグローバルです.依存注入中に上記の方法が登録されている場合、依存注入を行うことができないため、以下の構成を使用する.// app.module.ts
import { Module } from '@nestjs/common';
import { APP_GUARD } from '@nestjs/core';
@Module({
providers: [
{
provide: APP_GUARD,
useClass: RolesGuard,
},
],
})
export class AppModule {}
Reference
この問題について([TIL]NestJS勉強10日目), 我々は、より多くの情報をここで見つけました https://velog.io/@ingyocode/TIL-NestJS-공부-10일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol