在开发基于云服务的 Web 应用程序中,API 网关(API Gateway)通常充当着不可或缺的一环。AWS 目前提供了完整的 API Gateway 服务,但是在一些小项目和测试资源上使用它,会因为服务费用和部署的繁琐而造成不必要的负担。乐高提供的另一种轻量级 API Gateway 解决方案,在 AWS Lambda 和某些 AWS 服务上使用后可大大简化 API 网关的部署,也不用担心额外的费用。但是,使用乐高搭建新增和编辑其他 API 服务的难度比较大,因此我们需要另外一种能够为我们提供更多功能的解决方案。
在 Node.js 中,许多流行的 npm 包可以帮助我们轻松创建和操作 API 网关。这篇文章将介绍 npm 包 apigateway-export,它可以将乐高 API 网关配置文件的 JSON 格式转换为 AWS API 网关所使用的 Swagger JSON 文件。
前置条件
在使用本教程前,请确保你已经具备以下基础知识:
- Node.js 环境
- 乐高 API 网关(如果你不知道它是什么,请访问官方网站)
- AWS API Gateway 和 Swagger 文件的基本概念
安装与使用
安装 apigateway-export 以后,你可以使用以下命令行:
npm install -g apigateway-export
安装完成后,我们可以通过以下方法使用它:
apigateway-export --deploy dist
--deploy 选项告诉 apigateway-export 从乐高网关导出 JSON 文件,然后在指定目录中保存它。
这条命令将生成一个 Swagger JSON 文件,该文件具有与乐高 API 网关相同的配置,但可以用于 AWS API Gateway。
示例代码
下面是一个使用 apigateway-export 的示例代码,可以将导出的 JSON 文件发布到 AWS API 网关中:
-- -------------------- ---- ------- ----- --- - ------------------- ----- -- - -------------- ----- ------------ - --------------- ----- ---------- - ------------- ----- ------ - ------------ ----- ------------ - ------ -- ---------------------------------- ----- ------------------- - ----- -------- -- - ----- ---------- - --- ---------------- ------- ------ --- ----- ------ - ----- ------------------------------------------- ------ ------- -- ----- ---------------- - ----- ------- -- - ----- ---------- - --- ---------------- ------- ------ --- ----- ------ - ----- ----------------------------- ---------- ------ ---------- ----------- ------------- ------ ------- -- ----- ------------------- - ----- ------- -------- -- - ----- ---------- - --- ---------------- ------- ------ --- ----- ------ - ----- -------------------------- ---------- ------ ---------------- -------- ------------- ------ ------- -- ----- ------------- - ----- -------- -- - ----- ---------- - --- ---------------- ------- ------ --- ----- ------ - ----- ------------------------------------------- ------ ------- -- ----- ----------------------- - ----- ------- ------------ -- - ----- ------- - -------------------------- ----- ------ - - ----- ------------------------ --------------- ----- ----------- - ------------- -------- ------------ ------- ----------- ------- -- ---------- ------ - ----- ------ - ----- ---------------------- ------ ------- -- ------ -- -- - ----- ----------- - ---------------------- ----- ------- - ----------------------- ----- ------ - - ----- -------- -- --- ------------ --- ------ --- - ----------- - ----- ---------------------------- ----- - --------------- - ----- ----- - ----- ------------ - ------- -- ------ --- ---------- ---- -------- -------------------------- ----- --- -------------------- - --- - ----- -------------------------- -- ----- ------ ------- --------------------- -------- ------------ ---- ----- ------------------------------ ------------- ----- ------------------------ - ----- ----- - ----- ------------ - ------- -- ------ ---------- ---- -------- -------------------------- ----- --- -------------------- - ---------------- ---------- ----------- -----
运行这个脚本(启动 Node.js 脚本,将上述代码复制到命令行终端)并确保你已经设置正确的 AWS 参数,脚本将检索生成的 JSON 文件并将其发布到 API 网关。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600554dc81e8991b448d20fb