Уровень ошибки в Nest
Адрес с номером записи может не найти совпадение в списке. Клиенту всё равно нужен ответ, а на сервере важно зафиксировать, что запись не нашлась.
Метод записи уровня ошибки в журнале подходит для такой ситуации. Его вызывают, когда данных нет, а страница всё равно возвращает текст клиенту без выброса исключения.
Покажем на примере постов:
import { Controller, Get, Logger, Param } from '@nestjs/common';
@Controller()
export class PostController {
private logger = new Logger(PostController.name);
private posts = [
{ id: '1', title: 'Morning note' },
{ id: '2', title: 'Evening note' },
];
@Get('posts/:id')
getPost(@Param('id') id: string): string {
const post = this.posts.find((item) => item.id === id);
if (!post) {
this.logger.error(`Post ${id} not found`);
return 'Post not found';
}
return post.title;
}
}
Подключим контроллер к корневому модулю:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Откройте карточку работника по номеру
из адреса в контроллере
WorkerController. Если записи
нет, отметьте это в журнале уровнем
ошибки и верните клиенту короткую
фразу. Подключите контроллер к корневому
модулю.