Код ошибки в Nest
Запись убрали из списка навсегда, а клиент снова открывает старый адрес. Ответ «не найдено» сбивает с толку: кажется, номер просто опечатали.
HttpException принимает не только
четыреста, но и другие константы из
HttpStatus. Код «больше нет»
говорит, что ресурс исчез и не вернётся
по тому же пути.
Покажем на примере постов:
import {
Controller,
Get,
HttpException,
HttpStatus,
Param,
} from '@nestjs/common';
@Controller('posts')
export class PostController {
private removedIds = ['3'];
@Get(':id')
getPost(@Param('id') id: string): string {
if (this.removedIds.includes(id)) {
throw new HttpException(
'Post is gone',
HttpStatus.GONE,
);
}
return 'Post text';
}
}
Контроллер подключаем в корневом модуле:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Сделайте открытие работника по номеру
в WorkerController. Для номеров
из списка удалённых прерывайте метод
общим HTTP-исключением с кодом
«больше нет». Подключите контроллер
к корневому модулю.