用户登录

之前我们已经创建了一个微服务应用,现在,在其它的应用里面,就可以把消息发送给这个微服务去处理了,现在我们可以试一下基于请求与响应的微服务,后面我们再介绍基于事件的微服务。

微服务应用收到了从其它地方发送过来的消息,可以先判断一下消息的类型,然后再执行对应的方法来处理。在项目里面,打开 nest-1 这个应用里的 AppController。

在控制器里可以添加一下消息处理器。在文件顶部,需要从 @nestjs/microservices 这个包里面导入一些东西。

在这个控制器里添加一个方法,名字可以随便定义,比如 greet,表示问候。让这个方法可以处理消息,需要用一下 @MessagePattern 这个装饰器装饰一下它。这个 @MessagePattern 来自 @nestjs/microservices。

然后需要提供一个消息类型,或者叫消息模式,英文是 Pattern,这个消息类型可以是一个简单的字符串,也可以是一个对象。先把它设置成 greet,这样在其它地方,如果给这个微服务发送的消息里面,设置的消息类型是 greet,就会使用这个 AppController 控制器里的 greet 这个方法来处理。

发送的消息里面,除了消息的类型,还可以包含具体的数据,在这个消息处理器里面可以得到消息里的数据。给这个方法提供一个参数,这个参数用 @Payload 装饰器装饰一下,这个 @Payload 来自 @nestjs/microservices。

参数的名字可以叫 data,它的类型设置成 string。

然后在这个方法里面,让它 return 一个字符串,用一个字符模板,里面添加一个 hello,后面加上 data 参数的值。

现在我们就在这个微服务里定义好了一个消息处理器,它处理的是发送过来的 greet 这种消息。

定义基于请求与响应的微服务信息处理器(@MessagePattern)《 企业应用架构:微服务 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点