热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

只需6个简单步骤,即可使用标准库和Node.js构建和部署API

API是软件的构建块,它运行着我们的世界。它们是软件系统相互通信的方式,以及我们作为人们与软件进行通信的方式。知道如何构建API不仅是软件开发人员的一项

API是软件的构建块,它运行着我们的世界。 它们是软件系统相互通信的方式,以及我们作为人们与软件进行通信的方式。 知道如何构建API不仅是软件开发人员的一项关键技能,而且是一般编码知识的基础部分-一项可以帮助任何人职业发展的技能。

在本教程中,您将学习如何使用在线API编辑器Standard Library上的代码直接从Web浏览器直接构建API(不需要其他工具)。 无论您是软件开发的新手,还是正在寻找更快的代码发布方式的资深人士,我都会向您演示如何快速使用Standard Library上的Code来构建有效的API。 我们将使用标准库上的代码来构建功能完善的SMS服务,该服务连接AscenDB的Peaks API(用于识别山脉信息)和MessageBird的API(用于发送SMS消息) 。

我们的API将接收任何山峰的名称,并从AscendDB中检索该山峰的海拔和突出程度。 AscenDB的Peaks API提供了全世界超过700万个峰的数据-您可以在Standard Library上查看其文档 。 您还可以使用您选择的任何API复制这些步骤,以创建自己的SMS服务!

您需要什么

  • 1个美国手机号码
  • 1x创意大胆的灵魂

步骤1:标准库中的代码入门

第一步是转到标准库上的代码 。 Standard Library上的代码是由Standard Library的团队构建的在线API编辑器,这是一个可嵌入式开发环境,可轻松构建API,webhooks和工作流自动化任务。

在“标准库代码”的右上角,单击(登录) 。 如果您有标准库帐户,请单击“ 已注册”,然后使用您的凭据登录。 将会弹出一个模块,提示您声明名称空间 (这是您的用户名)。 输入您的电子邮件并选择一个密码。

创建帐户后,将出现另一个模块,其中列出了订阅计划。 免费帐户就是您开始所需的全部。

单击“ 订阅+赚取积分”后,您应该会看到一条确认消息。

单击继续以返回到标准库登录页面上的代码。

步骤2:与您的第一个API交互

  • 单击创建新API(空白)
  • 输入您的API的名称。 就本教程而言,建议您将其命名为MyFirstAPI并单击“ 确定” (或按Enter)。

按下Enter键后,您会在左侧边栏(文件夹树视图)中看到一个自动生成的服务项目支架。 此时,您可能已经注意到内部有一个“ hello world” Javascript函数( __main__.js )。 要测试您的功能,只需单击右下角的“运行” :

单击“运行”,只需几秒钟即可将您的功能转变为无限扩展的API端点! 在“结果”区域下,您会注意到一个文档门户-单击它以在标准库中查看您API的信息。 您还将看到一个API端点URL,单击它,然后将打开一个新标签,实时显示您的“ hello world”消息。

步骤3:替换默认的“ Hello World”功能并设置您的 STDLIB_LIBRARY_TOKEN

现在,让我们创建我们的SMS服务,该服务将通过短信发送任何山峰的高程和突出信息。 首先,我们将替换__main__.js的默认“ hello world”功能。 下面提供的代码复制并粘贴__main__.js文件中:

将代码粘贴到__main__.js文件后,您会注意到,您对lib的依赖关系( require('lib')行)会自动添加,无需通过终端运行npm安装-Standard上的代码库将自动修改您的package.json文件,并将所有npm软件包安装到您的服务目录中。

如果仔细阅读我提供的代码,您会发现lib的定义包含一个process.env.STDLIB_LIBRARY_TOKEN环境变量。 我们必须将必需的令牌添加到env.json文件中,以使我们的服务正常工作。

导航到env.json文件(在左侧树视图中单击env.json ),在那里您将看到"dev""release"环境正在等待您输入"STDLIB_LIBRARY_TOKEN"

在“ STDLIB_LIBRARY TOKEN”旁边的引号之间单击鼠标右键以打开上下文菜单

将光标置于引号之间(请参见上面的屏幕),然后右键单击并选择Insert Library Token…,或使用快捷键⌘+K。

选择“ 库令牌”以填写开发和发布环境。

确保使用“⌘+ s”保存更改(或点击右下角的“ 保存 ”)。

步骤4:索取免费的SMS MessageBird号码

我们就快到了! 接下来,您将索取免费的MessageBird电话号码。 我们将使用MessageBird SMS API发送和接收短信。 标准库使您轻松地初始化号码,发送和接收消息。

使标准库上的代码保持打开状态。 在另一个选项卡中,导航到标准库上的MessageBird Numbers API并接受服务条款(顶部的橙色栏)。

接受MessageBird服务条款-这是API参考顶部的橙色通知

完成之后,您可以直接从浏览器中索取您的第一个电话号码! 向下滚动页面到numbers API上的available方法:

MessageBird Numbers API中的“可用”方法

当前,只有加拿大和美国号码可用-根据您所在的位置选择适当的国家/地区代码(如果您想查看添加的特定地区或国家/地区,请给我们发送电子邮件 !)从下拉列表中选择一个标准库令牌右边(应该显示Unauthenticated ),然后按运行功能按钮以查看可用号码的列表。

从列表中复制一个电话号码,然后再向下滚动一点到initialize方法。

messagebird.numbers API中的“初始化”方法

API的initialize方法将要求一个初始电话号码供个人使用,并且是免费的。 将您上面复制的数字输入到数字参数输入中,从运行功能旁边的下拉列表中选择一个令牌,然后按“运行功能”以声明您的数字。

恭喜你! 您已经在标准库上成功初始化了MessageBird! 您可以通过使用messagebird.sms服务发送文本消息来进行测试。 导航到MessageBird SMS API参考,并尝试使用您的个人电话号码作为收件人的create功能-您应该从刚刚声明的号码中收到一条短信!

messagebird.sms API中的“创建”方法

步骤5:通过标准库上的代码测试服务

现在您已经索取了免费号码,我们可以测试您的SMS服务。

返回到“ MyFirstAPI”服务中的__main__.js文件。 我们将填写右侧栏中要求参数的部分。 MessageBird将四个参数传递给SMS处理程序。 这些是接收消息的MessageBird编号,它将是您先前声明的编号,发送传入消息的外部号码,消息的内容以及消息的发送时间。

sender:您的手机号码,将接收短信

receiver:接收SMS的标准图书馆电话号码

message:您正在请求海拔和突出信息的山峰的名称。 (例如Denali )

createdDatetime:发送短信的日期

点击运行

在几秒钟内,您将从您之前声明的MessageBird号码中收到一条短信。

相当整洁吧? 但是我们还没有完成! 现在已经创建了您的服务,我们将其设置为您先前声明的MessageBird电话号码的处理程序 。

步骤6:使用MessageBird和标准库设置SMS消息响应处理程序

当您将服务设置为您刚刚使用MessageBird handlers API声明的号码的处理程序时,只要该号码收到短信,它就会触发。 我们将使用messagebird.handlers.sms.set API方法。 您可以直接从浏览器中执行此操作! 前往https://stdlib.com/@messagebird/lib/handlers/ 。

向下滚动,直到看到两个参数numberidentifier

Number:您在步骤4中声明的MessageBird号码

Identifier: .MyFirstAPI [@dev]

( 注意: 当然是您的用户名,“。MyFirstAPI [@dev]”假定您在初始步骤中将API命名为“ MyFirstAPI”)

输入所需参数后,单击“运行功能”

就是这样! 要测试您的服务,请向您的MessageBird号发送一条带有任何山脉名称的SMS消息。 您应该在几秒钟内收到回复!

您可以自定义处理程序,以运行所需的任何类型的代码-并发回来自其他API的响应。 只需安装所需的任何npm软件包,并使用所需的逻辑来修改functions/__main__.js处理程序。 您的SMS服务已准备就绪,可以进行测试!

建议的步骤-清理代码

默认的示例API程序包(空白)可能包含一些不需要的额外终结点和文件(例如__main__.js终结点之外的functions/文件夹中的任何内容),您最终将需要清理它们。 要删除(和管理)文件,请右键单击要删除的文件或文件夹,然后点击删除

就是这样,谢谢!

谢谢阅读! 我很高兴看到您想为标准库添加哪些精巧的服务。 您可以使用您选择的任何API复制这些步骤,以创建一个很酷的服务,例如此加密价格检查器 !

我希望您在这里发表评论 , 给我发电子邮件给Janeth [at] stdlib [dot] com ,或者在Twitter上关注标准库@StdLibHQ 。 让我知道您是否建立了希望标准库团队展示或分享的精彩内容-我很乐意提供帮助!

珍妮丝·莱德兹玛(Janetth Ledezma)是标准图书馆社区经理,最近刚从伯克利大学(UC Berkeley)毕业,该死! 当她不学习阿拉伯语或锻炼时,您可以在cbr500r上找到她探索城镇和咖啡馆的地方。 通过Twitter @mss_ledezma 跟随她的标准图书馆之旅

From: https://hackernoon.com/build-deploy-and-publish-an-api-using-code-xyz-and-node-js-in-6-steps-8aa3e8ec334b



推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ... [详细]
author-avatar
wjw0000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有