热门标签 | 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



推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 你真的了解Word的所有功能吗?——深入解析Word使用技巧与实用知识(精选转载) ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • CAD中外部参照图框的命令与应用技巧 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • Python全局解释器锁(GIL)机制详解
    在Python中,线程是操作系统级别的原生线程。为了确保多线程环境下的内存安全,Python虚拟机引入了全局解释器锁(Global Interpreter Lock,简称GIL)。GIL是一种互斥锁,用于保护对解释器状态的访问,防止多个线程同时执行字节码。尽管GIL有助于简化内存管理,但它也限制了多核处理器上多线程程序的并行性能。本文将深入探讨GIL的工作原理及其对Python多线程编程的影响。 ... [详细]
  • 近期,一种被称为“1KB快捷方式病毒”(学名为“VBS病毒”)在我公司内迅速蔓延,给系统安全带来了严重威胁。该病毒通过创建同名的恶意快捷方式文件传播,感染后可能导致文件损坏或丢失。为有效应对这一问题,我们正在采取一系列综合防护措施,包括更新防病毒软件、加强员工安全意识培训以及定期备份重要数据,以降低病毒带来的风险。 ... [详细]
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社区 版权所有