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í.