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

Обработчик сообщения в Nest

Канал уже слушает TCP, но входящие запросы никто не разбирает. Клиент шлёт шаблон, а в процессе нет класса, который сопоставит его с работой над массивом в памяти.

На стороне микросервиса описывают контроллер без HTTP маршрутов. Метод помечают шаблоном сообщения на латинице: Nest направляет тело запроса в этот метод, когда имя совпадает. Класс записывают в контроллерах корневого модуля слушателя, как обычную страницу, только транспорт не HTTP.

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

import { Controller } from '@nestjs/common'; import { MessagePattern, Payload } from '@nestjs/microservices'; @Controller() export class PostMicroserviceController { posts: { title: string }[] = []; @MessagePattern({ cmd: 'add_post' }) addPost(@Payload() data: { title: string }) { const post = { title: data.title }; this.posts.push(post); } }

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

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

Опишите WorkerMicroserviceController с приёмом данных работника и сохраняйте строку в массиве поля класса, затем запишите его в контроллерах корневого модуля слушателя.

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