原生请求体
访问原生请求体的最常见用例之一是执行 webhook 签名验证。通常,在执行 webhook 签名验证时,需要未序列化的请求体来计算 HMAC 哈希。
警告 警告 该功能只能在启用了内置全局请求体解析中间件时使用,即在创建应用程序时不能传递
*splat。
使用 Express
首先在创建 Nest Express 应用程序时启用选项:
在控制器中访问原生请求体,可以使用 convenience 接口 INLINE_CODE_9 exposing a INLINE_CODE_10 字段在请求上:使用接口 INLINE_CODE_11 类型:
注册不同的解析器
默认情况下,只注册了 INLINE_CODE_12 和 INLINE_CODE_13 解析器。如果您想在 runtime 注册不同的解析器,需要这样做。
例如,要注册一个 INLINE_CODE_14 解析器,可以使用以下代码:
警告 警告 确保您提供了正确的应用程序类型到 INLINE_CODE_15 调用中。对 Express 应用程序,正确的类型是 INLINE_CODE_16。否则, INLINE_CODE_17 方法将无法找到。
请求体大小限制
如果您的应用程序需要解析一个大于默认 INLINE_CODE_18 的请求体,可以使用以下代码:
CODE_BLOCK_3
INLINE_CODE_19 方法将尊重传递给应用程序选项的 INLINE_CODE_20 选项。
使用 Fastify
首先在创建 Nest Fastify 应用程序时启用选项:
CODE_BLOCK_4
在控制器中访问原生请求体,可以使用 convenience 接口 INLINE_CODE_21 exposing a INLINE_CODE_22 字段在请求上:使用接口 INLINE_CODE_23 类型:
CODE_BLOCK_5
注册不同的解析器
默认情况下,只注册了 INLINE_CODE_24 和 INLINE_CODE_25 解析器。如果您想在 runtime 注册不同的解析器,需要这样做。
例如,要注册一个 INLINE_CODE_26 解析器,可以使用以下代码:
CODE_BLOCK_6
警告 警告 确保您提供了正确的应用程序类型到 INLINE_CODE_27 调用中。对 Fastify 应用程序,正确的类型是 INLINE_CODE_28。否则, INLINE_CODE_29 方法将无法找到。
请求体大小限制
如果您的应用程序需要解析一个大于默认 1MiB 的请求体,可以使用以下代码:
CODE_BLOCK_7
INLINE_CODE_30 方法将尊重传递给应用程序选项的 INLINE_CODE_31 选项。

