

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS AppSync JavaScript referência da função resolvedor para HTTP
<a name="resolver-reference-http-js"></a>

As funções do resolvedor AWS AppSync HTTP permitem que você envie solicitações de AWS AppSync qualquer endpoint HTTP e respostas do seu endpoint HTTP de volta para. AWS AppSync Com seu manipulador de solicitações, você pode fornecer dicas 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
<a name="request-js"></a>

```
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
<a name="method-js"></a>

**nota**  
Isto se aplica somente ao manipulador de solicitações. 

Método ou verbo HTTP (GET, POST, PUT, PATCH ou DELETE) que é AWS AppSync enviado para o endpoint HTTP.

```
"method": "PUT"
```

## ResourcePath
<a name="resourcepath-js"></a>

 

**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 forma a URL para a qual o AWS AppSync serviço 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
<a name="params-field-js"></a>

**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
<a name="response-js"></a>

Veja um exemplo [aqui](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers-js.html).