Выброс исключения в Nest
Условие в методе не выполняется, а вернуть пустую строку нельзя: клиент примет её за успех. Нужно явно остановить обработку и отдать отказ.
Оператор throw передаёт управление
фреймворку. Объект HttpException
несёт текст для тела и значение из
HttpStatus для числа ответа.
После выброса код метода ниже
не выполняется.
Покажем на примере постов:
import {
Controller,
Get,
HttpException,
HttpStatus,
} from '@nestjs/common';
@Controller('posts')
export class PostController {
@Get('draft')
openDraft(): string {
throw new HttpException(
'Draft is not ready',
HttpStatus.BAD_REQUEST,
);
}
}
Контроллер регистрируем в корневом модуле:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Сделайте маршрут в контроллере
WorkerController, который
прерывает работу общим HTTP-исключением
с текстом отказа и кодом «неверный
запрос», и подключите контроллер
к корневому модулю.