Î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);
}
}
Întrebări & Exemple de Cod:
@MessagePattern() și @EventPattern() în MicroserviciiAi o nelămurire despre utilizarea comenzii
@MessagePattern() și @EventPattern() în Microserviciisau 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.