Referencia de plantillas de mapeo de solucionador de AWS AppSync para el origen de datos None
nota
Ahora admitimos de forma básica el tiempo de ejecución APPSYNC_JS y su documentación. Considere la opción de utilizar el tiempo de ejecución APPSYNC_JS y sus guías aquí.
La plantilla de mapeo de solucionador de AWS AppSync que se utiliza con el origen de datos de tipo None permite dar forma a las solicitudes de operaciones locales de AWS AppSync.
Plantilla de mapeo de solicitudes
La plantilla de mapeo es sencilla y le permite transferir toda la información de contexto posible a través del campo payload
.
{ "version": string, "payload": any type }
A continuación, se muestra el esquema JSON de la plantilla de mapeo de la solicitud una vez resuelta:
{ "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 }
En el siguiente ejemplo se transfieren los argumentos del campo a través de la propiedad del contexto de VTL $context.arguments
:
{ "version": "2018-05-29", "payload": $util.toJson($context.arguments) }
El valor del campo payload
se reenviará a la plantilla de mapeo de respuesta y estará disponible en la propiedad del contexto de VTL ($context.result
).
Este es un ejemplo que representa el valor interpolado del campo payload
:
{ "id": "postId1" }
Versión
El campo version
es común a todas las plantillas de mapeo de solicitudes y define la versión utilizada por la plantilla.
El campo version
es obligatorio.
Ejemplo:
"version": "2018-05-29"
Carga
El campo payload
es un contenedor que se puede utilizar para transferir cualquier formato JSON correcto a la plantilla de mapeo de respuesta.
El campo payload
es opcional.
Plantilla de mapeo de respuestas
Dado que no hay ningún origen de datos, el valor del campo payload
se reenviará a la plantilla de mapeo de respuesta y se establecerá en el objeto context
que está disponible a través de la propiedad $context.result
de VTL.
Si la forma del valor del campo payload
coincide exactamente con la forma del tipo de GraphQL, puede reenviar la respuesta mediante la siguiente plantilla de mapeo de respuesta:
$util.toJson($context.result)
No hay campos obligatorios ni restricciones de forma aplicables a la plantilla de mapeo de respuesta. Sin embargo, dado que los tipos de GraphQL son estrictos, la plantilla de mapeo resuelta debe coincidir con el tipo de GraphQL previsto.