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

Журнал в сервисе в Nest

Контроллер открывает адрес и отдаёт ответ, а правила списка могут жить в сервисе. Если журнал оставить только в контроллере, внутренние шаги сервиса останутся невидимыми.

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

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

import { Injectable, Logger } from '@nestjs/common'; @Injectable() export class PostService { private logger = new Logger(PostService.name); getPosts(): string { this.logger.log('Listing posts'); return 'All posts'; } }

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

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

Оба класса регистрируем в корневом модуле:

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

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

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