Несколько настроек в Nest
Пусть страница знает только заголовок сайта, а размер выдачи списка снова зашит в код. Два параметра окружения удобнее читать одним сервисом и собирать ответ из обеих строк.
Сервис настроек вызывают несколько раз с разными ключами. Каждый вызов метода get возвращает одну строку из файла окружения. Метод страницы склеивает результаты и отдаёт клиенту одну строку.
Покажем на примере постов:
BLOG_TITLE=Blog
PAGE_SIZE=20
Контроллер прочитает оба ключа и вернёт их слитно:
import { Controller, Get } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
@Controller('posts')
export class PostController {
constructor(private configService: ConfigService) {}
@Get()
getPosts(): string {
const title = this.configService.get('BLOG_TITLE');
const size = this.configService.get('PAGE_SIZE');
return title + size;
}
}
Подключим контроллер и модуль конфигурации в корневом модуле:
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { PostController } from './post.controller.js';
@Module({
imports: [ConfigModule.forRoot()],
controllers: [PostController],
})
export class AppModule {}
Сделайте страницу списка работников
в контроллере WorkerController,
которая склеивает в ответе название
сайта и размер страницы из настроек,
и подключите модуль конфигурации
с контроллером к корневому модулю.