Неверный запрос в Nest
Тело запроса приходит с пустым названием, а метод всё равно кладёт запись в список. Клиент не понимает, что поле обязательно, пока данные уже испорчены.
BadRequestException сразу отвечает
кодом «неверный запрос». Проверку делают
до изменения списка: пустая строка
или пробелы - повод прервать метод
с понятным текстом.
Покажем на примере постов:
import {
BadRequestException,
Body,
Controller,
Post,
} from '@nestjs/common';
@Controller('posts')
export class PostController {
private posts: { id: string; title: string }[] = [];
@Post()
createPost(@Body() body: { title: string }) {
if (!body.title.trim()) {
throw new BadRequestException('Title is empty');
}
const item = {
id: String(this.posts.length + 1),
title: body.title,
};
this.posts.push(item);
return item;
}
}
Контроллер регистрируем в корневом модуле:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Примите нового работника по телу запроса
в контроллере WorkerController.
Если имя пустое, прервите метод отказом
«неверный запрос». Подключите контроллер
к корневому модулю.