$util.http の HTTP ヘルパー - AWS AppSync

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

$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) を含むカスタムヘッダーを 1 つ追加します。以下の制限が適用されます。

  • ヘッダー名は、既存のヘッダー、制限付きヘッダー、 AWS または AWS AppSync ヘッダーのいずれとも一致できません。

  • ヘッダー名は、x-amzn-x-amz- などの制限付きプレフィックスで始めることはできません。

  • カスタムレスポンスヘッダーのサイズは 4 KB を超えることはできません。これにはヘッダー名と値が含まれます。

  • 各レスポンスヘッダーは、GraphQL 操作ごとに 1 回定義する必要があります。ただし、同じ名前のカスタムヘッダーを複数回定義すると、最新の定義がレスポンスに表示されます。名前に関係なく、すべてのヘッダーがヘッダーサイズの上限に含まれます。

... $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) ...