gpt4 book ai didi

javascript - 在 Nestjs 中使用 https 和 Axios 请求

转载 作者:行者123 更新时间:2023-12-03 08:19:42 26 4
gpt4 key购买 nike

我目前有一个 Nestjs 服务器设置,并尝试在其中一个端点收到 GET 请求时执行 Axios 请求。这是controller.ts代码:

@Controller()
export class TestController {
constructor(private readonly testService: TestService) {}

@Get('testData')
testData() {
return this.testService.testData();
}
}

服务.ts:

@Injectable()
export class TestService {
status(): string {
return 'OK'
}

testData(): Promise<any> {
return helper.getTestData();
}
}

其中 helper.getTestData() 只是对具有以下函数的帮助程序文件的调用:

export async function getTestData(): Promise<any> {
const result = await axios({
url: tempURL,
method: 'GET',
timeout: 3000,
httpsAgent: new https.Agent({
rejectUnauthorized: false,
}),
});

我能够访问此端点tempURL,但遇到以下错误消息:无法读取未定义的属性“Agent”。我知道我尝试访问的端点需要证书,这就是为什么我必须在 Axios 请求中包含 httpsAgent 参数。如果我不包含 httpsAgent 参数,我会收到以下消息 错误:无法验证 Nodejs 中的第一个证书

有没有办法配置 Nestjs 以使用 https?或者是否有另一种方法可以在 Nestjs 内部处理此授权问题?使用 Postman 一切正常,所以我假设这是 Nestjs 问题。如有任何帮助,我们将不胜感激。

最佳答案

您应该使用命名空间导入,而不是import https from 'https';:import * as https from 'https'; 或在 tsconfig 文件中(在 compilerOptions 下)将 esModuleInterop 设置为 true

关于javascript - 在 Nestjs 中使用 https 和 Axios 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68239942/

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