我们知道 nestjs http 服务器调用 nestjs 微服务是简单的,已经封装好了,
那么脱离nestjs 环境,普通的 nodejs 环境 如何调用微服务呢?
从 stackoverflow 找到一个答案.https://stackoverflow.com/questions/55942795/call-my-nestjs-microservice-with-nodejs-app
import { ClientTCP } from "@nestjs/microservices";import { lastValueFrom } from "rxjs";async function bootstrap() { const client = new ClientTCP({ host: "localhost", port: 3001, }); await client.connect(); const pattern = { cmd: "math:wordcount" }; const data = "12314"; const result = await lastValueFrom(client.send("math:wordcount", data)).catch( (e) => { console.log(`e`, e); } ); console.log(result);}bootstrap();
当然安装的话需要安装这些包,不然会缺少依赖...:
"@nestjs/common": "^10.3.0", "@nestjs/core": "^10.3.0", "@nestjs/microservices": "^10.3.0"
要在纯Node.js项目中调用NestJS微服务,你可以使用HTTP客户端库来发送HTTP请求。以下是一种可能的方法:
首先,确保你已经安装了axios
或node-fetch
等HTTP客户端库。你可以使用npm(Node.js包管理器)来安装它们:
npm install axios
或者
npm install node-fetch
接下来,在你的Node.js项目中,导入你选择的HTTP客户端库并使用它来发送HTTP请求到NestJS微服务。以下是一个使用axios
的示例:
const axios = require('axios');async function callNestJsMicroservice(url) { try { const response = await axios.get(url); console.log(response.data); } catch (error) { console.error('Error calling NestJS microservice:', error); }}// 调用NestJS微服务的URLconst nestJsMicroserviceUrl = 'http://localhost:5000/api/some-endpoint';callNestJsMicroservice(nestJsMicroserviceUrl);
在上面的示例中,我们使用了axios
库的get
方法来发送GET请求到NestJS微服务的指定URL。你可以根据需要使用其他HTTP方法(如POST、PUT、DELETE等)。请确保将url
变量替换为你要调用的NestJS微服务的实际URL。
这是一个简单的示例,你可以根据你的实际需求进行修改和扩展。注意,你还需要处理异常和错误情况,这只是一个基本示例。
使用nestjs 构建了一个微服务,java 如何连接.
nestjs 一个服务如何既做微服务也做http服务器? 比如一个接口既可以做 http 又可以做微服务.不想再写一个专门的http 服务器. 接口是否可以相同?
我无法在微调器中选择项目。当我单击微调器中的项目时,Logcat显示警告 W/InputManagerService(60):窗口已聚焦,忽略:com的聚焦增益。Android内部的看法IIInputMethodClient$存根$Proxy@406f3d90 代码示例 你能帮助我吗?
我有一个微调器,里面填充了来自XML的字符串数组: 当用户选择某个内容时,我将其保存到SharedReferences。下次打开应用程序时,如何设置该值?我只保存了值,而没有保存它在微调器列表中的位置 如果我只做旋转单位。适配器要获得适配器,如何安全地投射SpinnerAdapter!到ArrayAdapter?还是这是错误的方法?
我正在开发一个android应用程序,在活动中我有三个领域:1。手机号码2。微调器3。微调器 用户输入手机号码后,我想更改微调器项目的颜色。 有人能告诉我怎么做吗?提前谢谢。
问题内容: 我正在为项目使用节点,表达和更多其他依赖项。我想知道如何在Firebase上托管此项目。我的项目将具有controller,view和其他文件夹以使该项目成为可能。它已经具有诸如pug / handlebars的视图引擎。 在线教程仅显示如何使用公用文件夹中的单个index.html托管Firebase。我应该如何将我的项目与所有其他文件夹一起托管?我知道如何在nodeJS中使用fir