以下の内容はhttps://kakkoyakakko2.hatenablog.com/entry/2019/12/22/003000より取得しました。


【NestJS】Custom providersで文字列をキーにする

概要

  • Custom providers で文字列を指定したサンプルです。
  • Moduleのprovidersに { provide: 文字列キー, useClass: サービスクラス } で定義します。
  • 定義したサービスはModuleRefを使用してContoller内部で生成します。

docs.nestjs.com

docs.nestjs.com

実行環境

  • Node.js - 10.x

使用ライブラリ

  • @nestjs/core - 6.7.x

サンプルソース

services/hello.service.ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class HelloService {
  getHello(): string {
    return 'Hello World!';
  }
}

app.module.ts

import { Module } from '@nestjs/common';

import { AppController } from './app.controller';
import { HelloService } from './services/hello.service';

@Module({
  imports: [],
  controllers: [AppController],
  providers: [{ provide: 'HELLO_SERVICE', useClass: HelloService }],
})
export class AppModule {}

app.controller.ts

import { Controller, Get } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';

import { HelloService } from './services/hello.service';

@Controller()
export class AppController {
  constructor(private readonly moduleRef: ModuleRef) {}

  @Get()
  getHello(): string {
    const service = this.moduleRef.get('HELLO_SERVICE') as HelloService;
    return service.getHello();
  }
}

サンプルソース一式

github.com




以上の内容はhttps://kakkoyakakko2.hatenablog.com/entry/2019/12/22/003000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14