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

Полезные данные отказа в Nest

Клиент получает только короткую фразу, хотя в адресе был конкретный номер. Без отдельного поля в теле ответа трудно понять, какую запись искали.

В готовый тип «не найдено» можно передать объект вместо строки. Фреймворк положит его в тело ответа, и клиент увидит и сообщение, и номер из запроса.

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

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

Контроллер регистрируем в корневом модуле:

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

Откройте работника по номеру в WorkerController. Если записи нет, прервите метод отказом «не найдено» с объектом, где есть текст и тот номер, что пришёл из адреса. Подключите контроллер к корневому модулю.

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