キャッチアップを進めていくにあたり、デコレータがどれだけあるのかが気になったので表でまとめてみました。
範囲は公式ドキュメントのOVER VIEWになります。
Pages:Controllers
| No |
名称 |
詳細 |
| 1 |
@Controller() |
ルートのエンドポイントをまとめたコントローラーを定義する。 |
| 2 |
@HttpCode |
HTTP ステータスコードを指定するためのデコレータ。 |
| 3 |
@Request(), @Req()
|
Express リクエストオブジェクトへのアクセスを提供する。 |
| 4 |
@Response(), @Res()* |
Express レスポンスオブジェクトへのアクセスを提供する。 |
| 5 |
@Next() |
次のミドルウェア関数への制御を渡す。 |
| 6 |
@Session() |
Express セッションオブジェクトへのアクセスを提供する。 |
| 7 |
@Param(key?) |
ルーティングされたパスパラメータの値にアクセスする。 |
| 8 |
@Body(key?) |
リクエストのボディパラメータの値にアクセスする。 |
| 9 |
@Query(key?) |
リクエストのクエリパラメータの値にアクセスする。 |
| 10 |
@Headers(name?) |
リクエストのヘッダーパラメータの値にアクセスする。 |
| 11 |
@Ip() |
クライアントの IP アドレスにアクセスする。 |
| 12 |
@HostParam() |
ホスト名パラメータの値にアクセスする。 |
| 13 |
@Get() |
HTTP GET メソッドを処理するルートを定義する。 |
| 14 |
@Post() |
HTTP POST メソッドを処理するルートを定義する。 |
| 15 |
@Put() |
HTTP PUT メソッドを処理するルートを定義する。 |
| 16 |
@Delete() |
HTTP DELETE メソッドを処理するルートを定義する。 |
| 17 |
@Patch() |
HTTP PATCH メソッドを処理するルートを定義する。 |
| 18 |
@Options() |
HTTP OPTIONS メソッドを処理するルートを定義する。 |
| 19 |
@Head() |
HTTP HEAD メソッドを処理するルートを定義する。 |
| 20 |
@All() |
すべての HTTP メソッドを処理するルートを定義する。 |
| 21 |
@Header() |
レスポンスのヘッダーを設定する。 |
| 22 |
@Redirect() |
リクエストを別のURLにリダイレクトする。 |
Pages:Providers
| No |
名称 |
詳細 |
| 1 |
@Injectable |
クラスがDI(Dependency Injection)可能であることを示す。 |
| 2 |
@UseFilters |
ルート処理中に例外をキャッチするフィルターを適用する。 |
| 3 |
@Optional() |
依存関係の解決時にオプションの依存関係を定義する。 |
Pages:Modules
| No |
名称 |
詳細 |
| 1 |
@Module() |
アプリケーションの機能をまとめたモジュールを定義する。 |
| 2 |
@Global |
グローバルスコープでモジュールやプロバイダーを定義する。 |
Pages:Exception filters
| No |
名称 |
詳細 |
| 1 |
@Catch |
アプリケーション内で発生した例外をキャッチし、適切な処理を行うためのミドルウェアを定義する。 |
Pages:Pipes
| No |
名称 |
詳細 |
| 1 |
@UsePipes |
リクエストデータのバリデーションや変換を行うためのパイプを適用する。 |
Pages:Guards
| No |
名称 |
詳細 |
| 1 |
@UseGuards() |
ルートにガードを適用してアクセス制御を行う。 |
| 2 |
@SetMetadata() |
メタデータを設定する。 |
| 3 |
@Roles() |
ユーザーの役割を指定する。 |
| 4 |
matchRoles() |
ユーザーの役割を検証する。 |
Pages:Interceptors
| No |
名称 |
詳細 |
| 1 |
@UseInterceptors |
リクエストとレスポンスをインターセプトし、処理を追加する。 |
さいごに
公式ドキュメントの項目でデコレータが追加されれば本記事を更新していきます。
詳細の内容で過不足あればコメントいただけると幸いです。
最後までご覧いただきありがとうございました!