JavaScript HTTP 的解析器函数参考 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

JavaScript HTTP 的解析器函数参考

Amazon AppSync HTTP 解析器函数使您能够将请求从任何HTTP端点发送Amazon AppSync 到任何HTTP端点,并将来自您的HTTP端点的响应发送回去Amazon AppSync。使用请求处理程序,您可以提供Amazon AppSync 有关要调用的操作性质的提示。本节介绍支持的 HTTP 解析器的不同配置。

请求

type HTTPRequest = { method: 'PUT' | 'POST' | 'GET' | 'DELETE' | 'PATCH'; params?: { query?: { [key: string]: any }; headers?: { [key: string]: string }; body?: string; }; resourcePath: string; };

以下代码段是一个 HTTP POST 请求示例,其text/plain正文为:

export function request(ctx) { return { method: 'POST', params: { headers: { 'Content-Type': 'text/plain' }, body: 'this is an example of text body', }, resourcePath: '/', }; }

方法

仅限请求处理器

Amazon AppSync 发送到 HTTP 终端节点的 HTTP 方法或动词(GET、POST、PUT、PATCH 或 DELETE)。

"method": "PUT"

ResourcePath

仅限请求处理器

您要访问的资源路径。资源路径与 HTTP 数据源中更多终端节点一起,构成 Amazon AppSync 发出请求到的 URL。

"resourcePath": "/v1/users"

评估请求时,此路径将作为 HTTP 请求的一部分发送,包括 HTTP 端点。例如,上一个示例可能会转换为如下所示:

PUT <endpoint>/v1/users

参数字段

仅限请求处理器

用于指定搜索执行的操作,最常见的方法是在正文中设置查询值。但是,可以配置若干其他功能,如响应的格式设置。

headers

标头信息(为键值对)。键和值都必须是字符串。

例如:

"headers" : { "Content-Type" : "application/json" }

目前支持的 Content-Type 标头包括:

text/* application/xml application/json application/soap+xml application/x-amz-json-1.0 application/x-amz-json-1.1 application/vnd.api+json application/x-ndjson

您无法设置以下 HTTP 标头:

HOST CONNECTION USER-AGENT EXPECTATION TRANSFER_ENCODING CONTENT_LENGTH
query

指定常用选项的键值对,如 JSON 响应的代码格式设置。键和值都必须是字符串。以下示例显示如何发送 ?type=json 格式的请求字符串:

"query" : { "type" : "json" }
body

正文包含您选择要设置的 HTTP 请求正文。请求正文始终是 UTF-8 编码格式的字符串,除非内容类型指定字符集。

"body":"body string"