$util.http 中的 HTTP 帮助程序 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

$util.http 中的 HTTP 帮助程序

注意

我们现在主要支持 APPSYNC_JS 运行时环境及其文档。请考虑使用 APPSYNC_JS 运行时环境和此处的指南。

$util.http 实用程序提供一些帮助程序方法,可用于管理 HTTP 请求参数和添加响应标头。

$util.http.copyHeaders(Map) : Map

从映射中复制标头,不包含受限制的 HTTP 标头集。您可以使用该方法将请求标头转发到下游 HTTP 终端节点。

{ ... "params": { ... "headers": $util.http.copyHeaders($ctx.request.headers), ... }, ... }
$util.http.addResponseHeader(String, Object)

添加单个自定义标头,其中包含响应的名称 (String) 和值 (Object)。适用以下限制:

  • 标头名称不能与任何现有或受限制的 Amazon 或 Amazon AppSync 标头匹配。

  • 标头名称不能以受限制的前缀开头,例如 x-amzn-x-amz-

  • 自定义响应标头大小不能超过 4 KB。这包括标头名称和值。

  • 对于每个 GraphQL 操作,您应该定义一次每个响应标头。不过,如果您多次定义具有相同名称的自定义标头,将在响应中显示最新的定义。无论命名如何,所有标头都会计入标头大小限制。

... $util.http.addResponseHeader("itemsCount", 7) $util.http.addResponseHeader("render", $ctx.args.render) ...
$util.http.addResponseHeaders(Map)

将多个响应标头添加到来自指定的名称 (String) 和值 (Object) 映射的响应中。为 addResponseHeader(String, Object) 方法列出的相同限制也适用于该方法。

... #set($headersMap = {}) $util.qr($headersMap.put("headerInt", 12)) $util.qr($headersMap.put("headerString", "stringValue")) $util.qr($headersMap.put("headerObject", {"field1": 7, "field2": "string"})) $util.http.addResponseHeaders($headersMap) ...