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

Канал на обработчике в Nest

Один и тот же канал нужен каждому параметру метода, а в декораторе его пришлось бы повторять. Запись раздувается, и правило легко забыть на новом параметре.

Декоратор UsePipes вешают на метод обработчика. Указанные каналы действуют на все параметры этого метода, поэтому в Param остаётся только имя. Порядок тот же: значение из запроса сначала проходит канал, потом попадает в аргумент с нужным типом.

Покажем на примере карточки поста с одним числовым параметром адреса:

import { Controller, Get, Param, ParseIntPipe, UsePipes, } from '@nestjs/common'; @Controller('posts') export class PostController { @Get(':id') @UsePipes(ParseIntPipe) getPost(@Param('id') id: number): string { return String(id); } }

Зарегистрируем контроллер в корневом модуле, чтобы маршрут заработал:

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

Сделайте открытие карточки работника по номеру в адресе, чтобы число готовили для всего метода сразу, в контроллере WorkerController и подключите его к корневому модулю.

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