@MessagePattern() și @EventPattern() în Microservicii în NestJS

microservices NestJS 10.x / @nestjs/microservices Q&A / Distribuie cod

Definirea handlerelor de mesagerie în controllerele de microservicii pentru mesaje RPC cu răspuns și evenimente asincrone.

Sintaxă
@MessagePattern({ cmd: '...' }) / @EventPattern('user_created')

În timp ce aplicațiile HTTP folosesc @Get() și @Post(), controllerele din microserviciile NestJS ascultă mesajele primite din cozi prin decoratoare specifice:

  • @MessagePattern('nume_comanda'): Ascultă mesaje de tip cerere-răspuns; valoarea returnată de metodă este trimisă automat înapoi către coada de reply a apelantului.
  • @EventPattern('nume_eveniment'): Consumă evenimente broadcast publicate în sistem (fără trimitere de răspuns).
Exemplu: Controller microserviciu cu MessagePattern și EventPattern
import { Controller } from '@nestjs/common';
import { MessagePattern, EventPattern, Payload } from '@nestjs/microservices';

@Controller()
export class OrdersMicroserviceController {
  @MessagePattern({ cmd: 'get_order_status' })
  getStatus(@Payload() data: { orderId: number }) {
    return { orderId: data.orderId, status: 'procesat' };
  }

  @EventPattern('payment_completed')
  handlePaymentEvent(@Payload() eventData: any) {
    console.log('Plată finalizată recepționată:', eventData);
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: @MessagePattern() și @EventPattern() în Microservicii

Ai o nelămurire despre utilizarea comenzii @MessagePattern() și @EventPattern() în Microservicii sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.