РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsPmCfSS 110 of 168 menu
◀ ▶

Настройка в сервисе в Nest

Пусть заголовок сайта читает только контроллер. Логика страницы смешана с доступом к настройкам, хотя то же значение может понадобиться сервису.

ConfigService внедряют в сервис так же, как в контроллер. Метод списка берёт строку из настроек и возвращает её, а контроллер лишь вызывает операцию сервиса и отдаёт результат клиенту. Импорт модуля конфигурации и списки контроллера с провайдерами остаются в одном корневом модуле.

Покажем на примере постов:

BLOG_TITLE=Blog

Сервис списка прочитает заголовок через сервис настроек:

import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; @Injectable() export class PostService { constructor(private configService: ConfigService) {} getPosts(): string { return this.configService.get('BLOG_TITLE'); } }

Контроллер запросит строку у сервиса:

import { Controller, Get } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller('posts') export class PostController { constructor(private postService: PostService) {} @Get() getPosts(): string { return this.postService.getPosts(); } }

Зарегистрируем контроллер, сервис и модуль конфигурации вместе:

import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { PostController } from './post.controller.js'; import { PostService } from './post.service.js'; @Module({ imports: [ConfigModule.forRoot()], controllers: [PostController], providers: [PostService], }) export class AppModule {}

Сделайте страницу списка работников в контроллере WorkerController, которая берёт название сайта из сервиса WorkerService с чтением настроек, и подключите оба класса с модулем конфигурации к корневому модулю.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить