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

Удаление элемента в Nest

Представим, что запись есть в списке, а убрать её оттуда нечем. Массив только растёт, хотя клиент уже просит удалить её по номеру.

Удаление по номеру делают в сервисе: он отфильтровывает массив и возвращает то, что осталось. Контроллер связывает запрос удаления с этой операцией.

Покажем на примере постов. Две записи в памяти и метод, который убирает одну по номеру:

import { Injectable } from '@nestjs/common'; @Injectable() export class PostService { private posts = [ { id: '1', title: 'Morning note', text: 'A short text', }, { id: '2', title: 'Evening note', text: 'Another text', }, ]; removePost(id: string) { this.posts = this.posts.filter((post) => post.id !== id); return this.posts; } }

Адрес с номером вызовет удаление и вернёт оставшийся список:

import { Controller, Delete, Param } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller() export class PostController { constructor(private postService: PostService) {} @Delete('posts/:id') removePost(@Param('id') id: string) { return this.postService.removePost(id); } }

Подключим классы в корневом модуле:

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

Уберите работника по номеру из адреса из списка сервиса WorkerService в контроллере WorkerController и подключите оба класса к корневому модулю.

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