рдиреЗрд╕реНрдЯрд░рдЬ рдореЗрдВ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдХреЗ рд╕рд╛рде рдЪрддреБрд░ рдХрд╛рдо

рд╡рд┐рддреНрддреАрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, AMQP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рддрдВрддреНрд░ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред

NestJS рдореЗрдВ RabbitMQ рдХреЗ рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдЬрд╛рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

@MessagePattern('notifications')
getNotifications(@Payload() data: number[], @Ctx() context: RmqContext) {
  console.log(context.getMessage());
}

рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ ред
рдиреЗрдмрд░ рдореЗрдВ рдХрддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рднреА рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реИрдмреЗ рдкрд░ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдФрд░ рдХреА рдЬрд░реВрд░рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВред

рд╕рдорд╕реНрдпрд╛ 1


рдПрдХ рдЪреИрдирд▓ рдХреЛ ack рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ RmqContext рд╕рдВрджрд░реНрдн рд╕реЗ рдЪреИрдирд▓ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдВрдХреЗрдд рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@MessagePattern('notifications')
getNotifications(@Payload() data: number[], @Ctx() context: RmqContext) {
  const channel = context.getChannelRef();
  const originalMsg = context.getMessage();
  channel.ack(originalMsg);
}

рдлреЗрд╕рд▓рд╛


рдПрдХ рд╣реА рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ, рдкреНрд░реЛрдорд┐рд╕ рдпрд╛ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕реАрдзреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдХреЗ http рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рдорд╕реНрдпрд╛ реи


рдпрджрд┐ рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЬреЛ рдЦрд░рдЧреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрд╕рдХрд╛ рдирд╛рдо рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ 1 рд╕реНрдерд╛рди рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдлреЗрд╕рд▓рд╛


рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдг рдореЗрдВ, рд╕рдлрд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рд╣рдордиреЗ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд╕рдлрд▓ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдЧрд▓рдд рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ 1 рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпрджрд┐ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ, рдкреНрд░реЙрдорд┐рд╕ рдпрд╛ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рд╕рдлрд▓ рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдлрд▓ рдСрдкрд░реЗрд╢рди рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╕рдВрджреЗрд╢ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐ рдХрддрд╛рд░ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ, RabbitMQ рдПрдХреНрд╕-рдореГрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдХрддрд╛рд░ рдмрдирд╛рддреЗ рд╕рдордп -рд▓реЗрдЯрд░-рдПрдХреНрд╕рдЪреЗрдВрдЬ рдФрд░ рдПрдХреНрд╕-рдбреЗрдб-рд▓реЗрдЯрд░-рд░рд╛рдЙрдЯрд┐рдВрдЧ-рдХреАред

рд╕рдорд╕реНрдпрд╛ 3


рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдЧрд▓реЗ рд╕рдВрджреЗрд╢ рдХреА рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдПрдордХреНрдпреВрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдРрдХ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдм рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ, рдЖрджрд┐ред

рдлреЗрд╕рд▓рд╛


рд╕рдВрджреЗрд╢ рдХреА рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдЬреЛрдбрд╝реЗрдВред Ack рдХреЗ рдмрдЬрд╛рдп, рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдВред

рд╕рдорд╕реНрдпрд╛ 4


рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛: рд╣реИрдВрдбрд▓рд░ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╕рдВрджреЗрд╢ рджреЗрдирд╛ред рдЬрдм рд╡рд┐рддреНрддреАрдп рд▓реЗрди-рджреЗрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдкреИрд╕рд╛ рдкрд╣рд▓реЗ рд╣реА рднреЗрдЬрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдСрдкрд░реЗрд╢рди рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ - рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдпрд╛ рдореИрд╕реЗрдЬ рдмреНрд░реЛрдХрд░ рдХреЛ рдкрд╛рд╡рддреА рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╕рдВрджреЗрд╢ рдЖрдИрдбреА рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЬрдм рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдкрднреЛрдХреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрдВред рд▓реЗрдХрд┐рди рдПрдПрдордХреНрдпреВрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдПрдХ рдкрд╣рдЪрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдзреНрд╡рдЬ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрджреЗрд╢ рдХрднреА рдЕрдиреНрдп рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдкреБрдирдГ рд╡рд┐рддрд░рд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдиреЗрд╕реНрдЯ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдРрд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдлреЗрд╕рд▓рд╛


рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рди рджреЗрдВ, рд▓реЗрдХрд┐рди рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЛ рд╕рдЬрд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрднреА рднреА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдХреИрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдЖрд░рдВрднреАрдХрд░рдг:

const amqp = await NestFactory.create(
 RabbitModule.forRoot({
   host: process.env.AMQP_QUEUE_HOST,
   port: parseInt(process.env.AMQP_QUEUE_PORT, 10),
   login: process.env.AMQP_QUEUE_LOGIN,
   password: process.env.AMQP_QUEUE_PASSWORD,
   tasksQueueNormal: process.env.AMQP_QUEUE_COMMAND_REQUEST,
   tasksQueueRedelivery: process.env.AMQP_QUEUE_REQUEST_ONCE_DELIVERY,
   deadLetterRoutingKey: process.env.AMQP_QUEUE_COMMAND_REQUEST_DEAD_LETTER,
   deadLetterRoutingKeyRedelivery: process.env.AMQP_QUEUE_COMMAND_REQUEST_ONCE_DELEVERY_DEAD_LETTER,
   exchange: process.env.AMQP_EXCHANGE_COMMAND,
   prefetch: parseInt(process.env.AMQP_QUEUE_PREFETCH, 10),
 }),
);
const transport = amqp.get<RabbitTransport>(RabbitTransport);
app.connectMicroservice({
 strategy: transport,
 options: {},
});

app.startAllMicroservices();

рдпрд╣рд╛рдВ рд╣рдо рд╕рдВрджреЗрд╢реЛрдВ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░реЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрддрд╛рд░реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╣реАрдВ рд╣реИрдВред

рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрддрд░ рдкрд░, рдХрд╛рдо http рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ

@AMQP(тАШsay_heyтАЩ)
sayHay(@AMQPRequest requestId: string, @AMQPParam q: HeyMessage): Observable<Result> {
 return this.heyService.greet(requestId, q);
}

рдЗрд╕ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реА рдХрд╛рд░реНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкрд░рд┐рдгрд╛рдо рдХрддрд╛рд░ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред @AMQPRequest рд╕реЗ рд╕рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╣-рд╕рдВрдмрдВрдз рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╡рд┐рддрд░рд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред

@AMQPParam рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрджреЗрд╢ рдмреЙрдбреА рд╕реЗ рд╣реА рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ JSON рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджреЗрд╢ рдореГрдд рдкрддреНрд░ рдореЗрдВ рд╣реЛрдЧрд╛:

@AMQP(тАШsay_heyтАЩ)
sayHayErr(@AMQPRequest requestId: string, @AMQPParam q: HeyMessage): Observable<Result> {
 return throwError(тАШBuyтАЩ);
}

рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ


AMQPParam рдореЗрдВ рдЯрд╛рдЗрдк рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рд╕рдВрджреЗрд╢ рдирд┐рдХрд╛рдп рдХреЛ рдЙрддреНрддреАрд░реНрдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПред рдЕрдм рдпрд╣ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рддрд┐ рд╣реИ GitHub рдкрд░

рд╕рднреА рдХреЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ ред

рдХрд┐рд╕реА рднреА рд╕рдВрдкрд╛рджрди рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

All Articles