Referência de função do resolvedor de JavaScript do AWS AppSync para HTTP
As funções do resolvedor HTTP do AWS AppSync permitem que você envie as solicitações do AWS AppSync para qualquer endpoint HTTP e as respostas do endpoint HTTP de volta para o AWS AppSync. Com seu manipulador de solicitações, você pode fornecer dicas ao AWS AppSync sobre a natureza da operação a ser invocada. Esta seção descreve as diferentes configurações para o resolvedor HTTP compatível.
Solicitação
type HTTPRequest = { method: 'PUT' | 'POST' | 'GET' | 'DELETE' | 'PATCH'; params?: { query?: { [key: string]: any }; headers?: { [key: string]: string }; body?: any; }; resourcePath: string; };
O snippet a seguir é um exemplo de uma solicitação HTTP POST, com um corpo 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
Isto se aplica somente ao manipulador de solicitações.
Método ou verbo HTTP (GET, POST, PUT, PATCH ou DELETE) que o AWS AppSync envia ao endpoint HTTP.
"method": "PUT"
ResourcePath
nota
Isto se aplica somente ao manipulador de solicitações.
O caminho do recurso que você deseja acessar. Junto com o endpoint na fonte de dados HTTP, o caminho do recurso compõe o URL ao qual o serviço AWS AppSync faz uma solicitação.
"resourcePath": "/v1/users"
Quando a solicitação é avaliada, esse caminho é enviado como parte da solicitação HTTP, incluindo o endpoint HTTP. Por exemplo, o exemplo anterior pode ser traduzido para o seguinte:
PUT <endpoint>/v1/users
Campo Params
nota
Isto se aplica somente ao manipulador de solicitações.
Usado para especificar qual ação é executada pela pesquisa, geralmente definindo o valor consulta dentro do corpo. No entanto, existem vários outros recursos que podem ser configurados, como a formatação de respostas.
- headers
-
As informações do cabeçalho, como pares de chave/valor. A chave e o valor devem ser strings.
Por exemplo:
"headers" : { "Content-Type" : "application/json" }
Atualmente, os cabeçalhos
Content-Type
compatíveis são: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
Não é possível definir os seguintes cabeçalhos HTTP:
HOST CONNECTION USER-AGENT EXPECTATION TRANSFER_ENCODING CONTENT_LENGTH
- query
-
Os pares de chave/valor que especificam opções comuns, como formatação de código para respostas JSON. A chave e o valor devem ser strings. O exemplo a seguir mostra como enviar uma string de consulta como
?type=json
:"query" : { "type" : "json" }
- body
-
O corpo contém o corpo da solicitação HTTP escolhido para definição. O corpo da solicitação sempre é uma string codificada em UTF-8, a menos que o tipo de conteúdo especifique o conjunto de caracteres.
"body":"body string"
Resposta
Veja um exemplo aqui.