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

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

$util.http 中的 HTTP 助手

$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 AppSync标题Amazon或标题相匹配。

  • 标头名称不能以受限制的前缀开头,例如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) ...