Referencia a la función de solucionador de JavaScript de AWS AppSync para HTTP - AWS AppSync

Referencia a la función de solucionador de JavaScript de AWS AppSync para HTTP

Las funciones de solucionador de HTTP para AWS AppSync permiten enviar las solicitudes de AWS AppSync dirigidas a cualquier punto de conexión HTTP y también a las respuestas de este hacia AWS AppSync. Con su controlador de solicitudes, puede proporcionar sugerencias a AWS AppSync acerca de la naturaleza de la operación que se va a invocar. En esta sección se describen las distintas configuraciones para el solucionador de HTTP admitido.

Solicitud

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

El siguiente fragmento de código es un ejemplo de una solicitud HTTP POST con cuerpo text/plain:

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

Método

nota

Esto se aplica solo al controlador de solicitudes.

Método o verbo HTTP (GET, POST, PUT, PATCH o DELETE) que envía AWS AppSync al punto de conexión HTTP.

"method": "PUT"

ResourcePath

nota

Esto se aplica solo al controlador de solicitudes.

La ruta de recurso a la que desea acceso. Junto con el punto de conexión del origen de datos HTTP, la ruta del recurso forma la URL a la que el servicio AWS AppSync envía la solicitud.

"resourcePath": "/v1/users"

Cuando se evalúa la solicitud, esta ruta se envía como parte de la solicitud HTTP, incluido el punto de conexión HTTP. Por ejemplo, el ejemplo anterior puede convertirse como:

PUT <endpoint>/v1/users

Campos params

nota

Esto se aplica solo al controlador de solicitudes.

Se utiliza para especificar la acción que realiza la búsqueda, normalmente estableciendo el valor query dentro de body. Sin embargo, se pueden configurar otras funcionalidades, como, por ejemplo, el formato de las respuestas.

headers

Es la información del encabezado en forma de pares clave-valor. Tanto la clave como el valor deben ser cadenas.

Por ejemplo:

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

Los encabezados Content-Type admitidos actualmente son:

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

No puede definir los siguientes encabezados HTTP:

HOST CONNECTION USER-AGENT EXPECTATION TRANSFER_ENCODING CONTENT_LENGTH
consulta

Son los pares clave-valor que especifican opciones comunes, como el formato de código de las respuestas JSON. Tanto la clave como el valor deben ser cadenas. En el siguiente ejemplo se muestra el modo de enviar una cadena de consulta como ?type=json:

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

La sección body contiene el cuerpo de la solicitud HTTP que defina. El cuerpo de la solicitud siempre es una cadena con codificación UTF-8, a menos que el tipo de contenido especifique un conjunto de caracteres.

"body":"body string"

Respuesta

Puede ver un ejemplo aquí.