gpt4 book ai didi

node.js - 使用 nodeJS 应用程序调用我的 NestJs 微服务

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:10 28 4
gpt4 key购买 nike

我想我可以说我对微服务有点菜鸟。所以,这就是我想玩它的原因。我使用 NestJs,因为它看起来很简单

首先,我使用 nest new myservice 创建了一个新应用程序然后我从微服务文档中将示例 main.ts 和controller.ts 复制到项目中:

main.ts:

import { NestFactory } from '@nestjs/core';
import { Transport } from '@nestjs/microservices';
import { AppModule } from './app.module';

async function bootstrap() {
const app = await NestFactory.createMicroservice(AppModule, {
transport: Transport.TCP,
options: { host: 'localhost', port: 3005 },
});
app.listen(() => console.log('Microservice is listening'));
}
bootstrap();

app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {

controller.ts

import { Controller } from '@nestjs/common';
import { MessagePattern } from '@nestjs/microservices';

@Controller()
export class AppController {
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
return (data || []).reduce((a, b) => a + b);
}
}

现在当我启动它时,一切看起来都很好:

✗ yarn start
yarn run v1.13.0
$ ts-node -r tsconfig-paths/register src/main.ts
[Nest] 45783 - 05/01/2019, 11:08 PM [NestFactory] Starting Nest application...
[Nest] 45783 - 05/01/2019, 11:08 PM [InstanceLoader] AppModule dependencies initialized +17ms
[Nest] 45783 - 05/01/2019, 11:08 PM [NestMicroservice] Nest
microservice successfully started
Microservice is listening

所以,如果这里有任何问题,请告诉我!但我想编写一个小型测试 Nodejs 应用程序,可以调用/与此微服务通信。任何建议从哪里开始。例如,我可以使用 axios 还是应该使用其他东西。任何帮助将不胜感激!

最佳答案

您需要执行以下操作。

import { ClientTCP } from '@nestjs/microservices';

(async () => {
const client = new ClientTCP({
host: 'localhost',
port: 3005,
});

await client.connect();

const pattern = { cmd: 'sum' };
const data = [2, 3, 4, 5];

const result = await client.send(pattern, data).toPromise();
console.log(result);
})();

关于node.js - 使用 nodeJS 应用程序调用我的 NestJs 微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55942795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com