首页 > 解决方案 > 使用 Typescript 或 NodeJS 发出 HTTP 请求

问题描述

我正在寻找一种确定的方法来使用现代javascript框架处理对REST API的简单HTTP请求,在我的例子中是Typescript,但我想它也适用于Nodejs。

由于似乎没有一种简单的本地方法可以做到这一点,因此我发现了大量的库,其中一些现已弃用,还有数十篇可追溯到几年前的文章,其中一些基于较新的最佳实践进行了更新。当然不可能那么难。这需要我大约 5 分钟才能在 Golang 或 Python 中实现,但是使用 JavaScript 很痛苦 - 只有我吗?

有人可以根据我们现在在 2020 年的情况,澄清当前的游戏状态和推荐的方法。

标签: javascriptnode.jstypescript

解决方案


尽管 request-promise-native 可能工作得很好,但 Axios 是在 TypeScript 中使用的更好选择。它有自己的类型定义,总体上不太依赖其他包。使用它的 API 很像 Adrian 提供的答案,但是有一些细微的差别。

const url: string = 'your-url.example';

try {
    const response = await axios.get(yourUrl);
} catch (exception) {
    process.stderr.write(`ERROR received from ${url}: ${exception}\n`);
}

推荐阅读