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

Адрес редиректа в Nest

Пусть старый адрес вёл на одну карточку, а её номер каждый раз другой. Один новый путь в декораторе не записать: он зависит от номера, который стоял в старом адресе.

Метод может сам назвать путь перехода. Декоратор Redirect только помечает, что это не текст страницы, а уход на другой адрес. Метод возвращает объект с новым путём, и клиент идёт уже по нему.

Покажем на примере поста. Соберём адрес карточки из номера и отправим клиента туда:

import { Controller, Get, Param, Redirect } from '@nestjs/common'; @Controller() export class PostController { @Get('old/:id') @Redirect('/posts') redirectPost(@Param('id') id: string) { return { url: '/posts/' + id }; } @Get('posts/:id') getPost(@Param('id') id: string): string { return id; } }

Номер из старого адреса попадает в новый путь. Карточка по этому пути отдаёт тот же номер. Зарегистрируем класс в корневом модуле:

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

Сделайте переход со старого адреса работника на его новую карточку с тем же номером в контроллере WorkerController и подключите его к корневому модулю.

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