Несколько каналов в Nest
Карточку открывают по номеру в адресе, а список листают параметром после пути. Оба значения приходят строками, хотя методу нужны два отдельных числа.
Каналы не обязаны быть одни на весь метод. Каждый параметр несёт свой канал в декораторе: один на кусок адреса, другой на строку после пути. Фреймворк готовит их по отдельности, и метод получает два числа сразу.
Покажем на примере поста с номером карточки и страницей списка:
import {
Controller,
Get,
Param,
ParseIntPipe,
Query,
} from '@nestjs/common';
@Controller('posts')
export class PostController {
@Get(':id')
getPost(
@Param('id', ParseIntPipe) id: number,
@Query('page', ParseIntPipe) page: number,
): string {
return String(id) + ' ' + String(page);
}
}
Подключим контроллер к корневому модулю, чтобы оба значения дошли до метода:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Сделайте карточку работника по номеру
в адресе вместе со страницей списка
после пути, чтобы оба значения были
целыми числами, в контроллере
WorkerController и подключите его
к корневому модулю.