

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `None` 資料來源的 AWS AppSync 解析程式映射範本參考
<a name="resolver-mapping-template-reference-none"></a>

**注意**  
我們現在主要支援 APPSYNC\$1JS 執行期及其文件。請考慮[在此處](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)使用 APPSYNC\$1JS 執行期及其指南。

與類型為 *None* 的資料來源搭配使用的 AWS AppSync 解析程式映射範本，可讓您塑造 AWS AppSync 本機操作的請求。

## 請求映射範本
<a name="request-mapping-template"></a>

映射範本非常簡單，可讓您透過 `payload` 欄位來傳遞任意數量的內容資訊。

```
{
   "version": string,
   "payload": any type
}
```

以下是請求映射範本在解析後呈現的 JSON 結構描述：

```
{
    "definitions": {},
    "$schema": "https://json-schema.org/draft-06/schema#",
    "$id": "https://aws.amazon.com/appsync/request-mapping-template.json",
    "type": "object",
    "properties": {
        "version": {
            "$id": "/properties/version",
            "type": "string",
            "enum": [
                "2018-05-29"
            ],
            "title": "The Mapping template version.",
            "default": "2018-05-29"
        },
        "payload": {}
    },
    "required": [
        "version"
    ],
    "additionalProperties": false
}
```

以下是透過 VTL 內容屬性 傳遞欄位引數的範例`$context.arguments`：

```
{
    "version": "2018-05-29",
    "payload": $util.toJson($context.arguments)
}
```

`payload` 欄位的值將轉發到回應映射範本，並可在 VTL 內容屬性 (`$context.result`) 上使用。

這是代表 `payload` 欄位插入值的範例：

```
{
    "id": "postId1"
}
```

## 版本
<a name="version"></a>

在所有請求映射範本中， `version` 欄位會定義範本使用的版本。

 `version` 欄位是必要的。

範例：

```
"version": "2018-05-29"
```

## 酬載
<a name="payload"></a>

`payload` 欄位是一種容器，您可以用來將任何格式正確的 JSON 傳遞到回應映射範本。

 此 `payload` 欄位為選用。

## 回應映射範本
<a name="response-mapping-template"></a>

由於沒有資料來源，`payload` 欄位的值將轉發到回應映射範本，並在可透過 VTL `context` 屬性使用的 `$context.result` 物件上設定。

如果您的 `payload` 欄位值形狀完全匹配 GraphQL 類型形狀時，您可以使用以下回應映射範本轉送回應：

```
$util.toJson($context.result)
```

沒有任何必要欄位或形狀限制適用於回應映射範本。不過，由於 GraphQL 是強類型，解析後的映射範本必須符合預期的 GraphQL 類型。