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

Ошибка «не найдено» в Nest

Клиент открывает карточку по номеру из адреса, а в памяти сервера такой записи нет. Вернуть пустой объект обманчиво: лучше сразу сообщить, что искали не там.

NotFoundException из общих средств сразу задаёт код «не найдено» и текст. Метод сверяет номер со списком и бросает исключение, если совпадения нет; иначе возвращает название записи.

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

import { Controller, Get, NotFoundException, Param, } from '@nestjs/common'; @Controller('posts') export class PostController { private posts = [ { id: '1', title: 'Morning note' }, { id: '2', title: 'Evening note' }, ]; @Get(':id') getPost(@Param('id') id: string): string { const post = this.posts.find((item) => item.id === id); if (!post) { throw new NotFoundException('Post not found'); } return post.title; } }

Контроллер подключаем в корневом модуле:

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

Откройте работника по номеру из адреса в контроллере WorkerController. Держите в памяти два номера; при чужом номере прерывайте метод отказом «не найдено», иначе верните имя. Подключите контроллер к корневому модулю.

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