npm 包 @aws-sdk/middleware-serializer 使用教程

简介

@aws-sdk/middleware-serializer 是用于在 AWS SDK for JavaScript (V3) 中自动生成 HTTP 请求体和响应正文的中间件。它使开发人员可以将参数自动序列化为 JSON 或表单编码格式,并将响应体自动反序列化为 JavaScript 对象。

安装

@aws-sdk/middleware-serializer 可以通过 npm 进行安装:

--- ------- ------------------------------

使用

可以通过创建一个新的 SDK 对象(由 @aws-sdk/client-*-package 创建)并向客户端添加序列化器中间件来使用序列化器中间件。

------ - --------- ---------------- - ---- ---------------------
------ - -------------------- - ---- ---------------------------------

----- -- - --- ----------
  ------- ------------
  ---------------- -----------------------
---

----- ------ - -
  ------- -----------------
  ---- -----------------
--

----- ------- - --- -------------------------

----- -------- - ----- -----------------
----------------------

在上面的示例中,我们创建了一个包含序列化器中间件的 S3 客户端,并使用 GetObjectCommand 将 S3 对象名称指定为参数。然后,使用 S3Client 发送命令以获取对象。

深入了解

默认情况下,AWS SDK for JavaScript (V3) 在发送请求时将参数转换为 JSON 对象,并使用相应的内容类型标头来指示 AWS 服务将响应正文解释为 JSON。但是,有时可能需要使用表单编码格式来发送参数,或者将响应正文解释为其他格式(例如 XML)。

幸运的是,@aws-sdk/middleware-serializer 允许用户配置序列化和反序列化行为。序列化器中间件提供两个选项:

  • serialize
  • deserialize

这两个选项都是函数对象,它们接受参数和响应体并返回序列化或反序列化后的字符串或对象。

下面是一个自定义序列化和反序列化的示例:

------ - --------- ---------------- - ---- ---------------------
------ - -------------------- - ---- ---------------------------------
------ - -- ----------- ---- --------------

----- -- - --- ----------
  ------- ------------
  ---------------- -
    --------------------------------
      ---------- ------- ---- -- -
        ------ -----------------------------
      --
      ------------ -------- ---- -- -
        ------ --------------------------
      --
    ---
  --
---

----- ------ - -
  ------- -----------------
  ---- -----------------
--

----- ------- - --- -------------------------

----- -------- - ----- -----------------
----------------------

在上面的示例中,我们使用 querystring 库将参数和响应体序列化为表单编码格式和反序列化为 JavaScript 对象。这里也可以使用其他任何库。

结论

@aws-sdk/middleware-serializer 是一个非常有用的中间件,可帮助您自动将参数和响应体序列化和反序列化为 JSON 或表单编码格式。我们也看到了如何自定义序列化和反序列化逻辑,以及如何向客户端添加中间件。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6eecd2a9b7065299ccba21


猜你喜欢

  • npm 包 @aws-sdk/client-s3-node 使用教程

    Amazon S3(简称 S3)是 Amazon Web Services(AWS)提供的一项云存储服务,本教程将向您介绍如何使用 @aws-sdk/client-s3-node 包在 Node.js...

    4 年前
  • npm 包 @aws-sdk/s3-request-presigner 使用教程

    介绍 AWS SDK for JavaScript 是操作 Amazon Web Services的官方 JavaScript SDK。@aws-sdk/s3-request-presigner 是 ...

    4 年前
  • npm 包 @aws-sdk/middleware-stack 使用教程

    前言 @aws-sdk/middleware-stack 是亚马逊 AWS SDK for JavaScript (v3) 中的一个 NodeJS 模块,其提供了一个专用于持有中间件功能链的数据结构,...

    4 年前
  • npm包@aws-sdk/util-create-request使用教程

    简介 AWS SDK Javascript库提供了各种用于 JavaScript 应用程序的服务。 这些服务包括 Amazon S3,Amazon EC2,Amazon DynamoDB,和 Amaz...

    4 年前
  • npm 包 @aws-sdk/util-uri-escape 使用教程

    如果你是一名前端工程师,那么你会接触到很多和 URI 相关的问题。URI 在网络中是一个常见的概念,是用来定位不同资源的一种方式。在实际开发中,经常需要对 URI 进行编码和解码,以保证数据的正确传输...

    4 年前
  • npm 包 @aws-sdk/querystring-builder 使用教程

    介绍 @aws-sdk/querystring-builder 是 AWS 官方出品的一个 npm 包,用于构建符合 AWS 标准的查询字符串。 AWS 的查询字符串是一种常见的参数传递方式,特别是使...

    4 年前
  • npm 包 @aws-sdk/util-format-url 使用教程

    前言 在前端开发中,我们不可避免地需要与服务器交互。AWS 是一个国际知名的云计算服务提供商,提供了一系列强大的云计算解决方案。@aws-sdk/util-format-url 是 AWS SDK f...

    4 年前
  • npm 包 @aws-amplify/storage 使用教程

    AWS Amplify 是 AWS 官方开源的一款 JavaScript 库,它提供了丰富的 SDK 和工具,可简化前端开发者使用 AWS 服务的流程。其中,@aws-amplify/storage ...

    4 年前
  • npm 包 dts-css-modules-loader 使用教程

    前言 在开发前端项目中,我们通常会使用 CSS 样式表来为我们的页面添加样式。在这个过程中,我们也会使用 CSS 模块化的方式来确保代码的可维护性和可重用性。 但是,当我们在使用 TypeScript...

    4 年前
  • npm 包 @aws-amplify/ui 使用教程

    引言 AWS Amplify 是一款针对 Web 和移动应用开发的 JavaScript 库。它提供了一系列的软件开发工具,用于帮助开发者轻松构建可扩展、快速响应和安全可靠的应用程序。

    4 年前
  • npm 包 @aws-amplify/xr 使用教程

    随着 Web 技术的不断发展,越来越多的前端应用需要使用虚拟和增强现实技术,以提高用户体验和可用性。AWS Amplify 是一种用于开发和部署 Web 应用程序的框架和平台,其中包括基于 WebAR...

    4 年前
  • npm 包 @csn_chile/fuelgauge 使用教程

    简介 在前端开发过程中,我们经常需要使用各种第三方库和工具来提高代码的效率和可维护性。其中,npm 就是最为常用的一种包管理工具。而 @csn_chile/fuelgauge 就是一款基于 Canva...

    4 年前
  • npm 包 @csn_chile/liquidfillgauge 使用教程

    介绍 @csn_chile/liquidfillgauge 是一个基于 SVG 的 JavaScript 组件,用于创建流体填充仪表。它是通过 npm 包发布的,使用起来非常方便。

    4 年前
  • npm 包 node-trie 使用教程

    随着前端技术的快速发展,开发者们需要的工具也越来越多。其中,npm 是一个常用的包管理工具。而其中的一个 npm 包,即 node-trie(字典树),可以帮助开发者更高效地处理字符串。

    4 年前
  • npm 包 @csn_chile/twocircleschart 使用教程

    前言 前端开发涉及到数据可视化时,饼状图和环状图是应用最为广泛的图表类型之一。而 @csn_chile/twocircleschart 是一个 npm 包,它可以方便地帮助开发者生成一个简洁美观的双环...

    4 年前
  • npm 包 @types/codependency 使用教程

    在前端开发中,我们经常会使用到许多第三方库和模块。这些模块大多数都是通过 npm 安装的,而新手开发者经常会遇到一些问题,比如如何正确地使用某个第三方模块。本文将介绍如何使用 npm 包 @types...

    4 年前
  • npm 包 flaschenpost 使用教程

    介绍 flaschenpost 是一个轻量级、高效的日志库。它提供了简单而强大的 API,可以方便地自定义日志的格式和输出方式。此外,flaschenpost 还支持多个日志实例,可以根据需求处理不同...

    4 年前
  • npm 包 @sealsystems/log 使用教程

    在前端开发中,打印日志是一项非常重要的任务,但是如果仅仅使用 console.log() 进行打日志很难在日后进行复查和调试。因此,我们需要一些更加专业的工具来打印日志,这时候就需要使用 npm 包 ...

    4 年前
  • npm 包 v8-callsites 使用教程

    在前端开发中,我们常常需要查找函数调用栈,这个时候就需要使用 v8-callsites 这个 npm 包。它是一个已经被广泛应用于 Node.js 和浏览器端的 JS 应用程序的开源工具包,可被用于获...

    4 年前
  • npm 包 processenv 使用教程

    在前端开发的过程中,我们会经常使用到各种 npm 包,其中一个非常有用的 npm 包就是 processenv。processenv 用于读取和管理环境变量,在前端开发过程中应用广泛。

    4 年前

相关推荐

    暂无文章