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

Версия контроллера в Nest

Несколько страниц одной темы часто меняют сразу: и список, и карточка должны жить на одной линии API. Ставить метку на каждый обработчик отдельно утомительно, и легко забыть одну из страниц.

Метку версии можно повесить на весь контроллер. Тогда все обработчики внутри класса наследуют одну линию без повторения записи. В точке запуска по прежнему включают версионирование, а в параметрах @Controller рядом с путём указывают поле версии.

Покажем на примере постов:

import { NestFactory } from '@nestjs/core'; import { VersioningType } from '@nestjs/common'; import { AppModule } from './app.module.js'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.enableVersioning({ type: VersioningType.URI, }); await app.listen(3000); } bootstrap();

Вся линия API для posts задаётся один раз на классе:

import { Controller, Get } from '@nestjs/common'; @Controller({ path: 'posts', version: '1', }) export class PostController { @Get() getPosts(): string { return 'All posts v1'; } @Get('count') getPostsCount(): string { return 'Posts count v1'; } }

Контроллер регистрируем в корневом модуле:

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

Закрепите одну линию API за всем WorkerController с путём workers, включив версионирование по адресу в точке запуска NodeJS, и верните из него и список, и счётчик работников.

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