在之前的博客文章中,我展示了如何创建您的第一个云功能 (以及一个视频 )。 您的云函数很可能需要调用外部REST API。 以下教程将向您展示如何创建此类功能(非常简单)。
- 登录到IBM Cloud帐户
- 点击目录
- 删除标签:lite过滤器并键入函数
- 单击功能框
- 单击开始创建按钮
- 点击创建动作
- 对于动作名称,输入一个笑话 ,然后单击创建按钮。 Hello World消息将创建一个新的云功能
- 将函数代码替换为以下代码,该代码调用第三方REST API,该API返回一个随机笑话:
var request = require("request");function main(params) {var options = {url: "https://api.icndb.com/jokes/random",json: true};return new Promise(function (resolve, reject) {request(options, function (err, resp) {if (err) {console.log(err);return reject({err: err});}return resolve({joke:resp.body.value.joke});});}); }
- 代码很简单。 它使用请求 Node.js包连接到外部REST API
- 外部REST API返回一个随机笑话
- JavaScript Promise用于调用REST API
- 最后,cloud函数以JSON格式返回响应
- 现在,单击“ 保存”按钮以保存代码。 保存代码后,按钮将变为Invoke 。 单击按钮以调用该功能。 在右侧面板中,您应该看到带有随机笑话的输出:
{"joke": "Project managers never ask Chuck Norris for estimations... ever." }
在IBM Cloud Functions编辑器中的外观如下:
当然,您也可以使用CLI构建和测试云功能。 我将在另一篇博客文章中介绍。
现在,让我们将此云函数公开为REST API,以便我们可以在控制台外部调用它。 实际上,一旦我们将其设为Web Action,便可以直接从浏览器调用它。
- 在左侧,单击“ 端点”
- 选中“ 启用为Web操作”,然后单击“ 保存”。
- 复制网址并输入浏览器的地址栏
这是在Firefox中的外观:
那很容易,对吗?
在此博客文章中,您学习了如何创建一个调用外部(第三方)API的云函数。 即使最简单的应用程序也很有可能需要从外部API获取数据,因此这是一个很好的示例/模板。
翻译自: https://www.javacodegeeks.com/2018/07/invoke-external-rest-api-cloud-function.html