

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 referência do modelo de mapeamento do resolvedor para HTTP
<a name="resolver-mapping-template-reference-http"></a>

**nota**  
Agora, oferecemos suporte principalmente ao runtime do APPSYNC\_JS e sua documentação. Considere usar o runtime do APPSYNC\_JS e seus guias disponíveis [aqui](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html).

Os modelos de mapeamento 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 Ao usar modelos de mapeamento, você pode fornecer dicas AWS AppSync sobre a natureza da operação a ser invocada. Esta seção descreve os diferentes modelos de mapeamento para o resolvedor HTTP compatível.

## Modelo de mapeamento de solicitações
<a name="request-mapping-template"></a>

```
{
    "version": "2018-05-29",
    "method": "PUT|POST|GET|DELETE|PATCH",
    "params": {
        "query": Map,
        "headers": Map,
        "body": any
    },
    "resourcePath": string
}
```

Depois que o modelo de mapeamento da solicitação HTTP for resolvido, a representação do esquema JSON do modelo de mapeamento da solicitação será semelhante ao seguinte:

```
{
    "$id": "https://aws.amazon.com/appsync/request-mapping-template.json",
    "type": "object",
    "properties": {
        "version": {
        "$id": "/properties/version",
        "type": "string",
        "title": "The Version Schema ",
        "default": "",
        "examples": [
            "2018-05-29"
        ],
        "enum": [
            "2018-05-29"
        ]
        },
        "method": {
        "$id": "/properties/method",
        "type": "string",
        "title": "The Method Schema ",
        "default": "",
        "examples": [
            "PUT|POST|GET|DELETE|PATCH"
        ],
        "enum": [
            "PUT",
            "PATCH",
            "POST",
            "DELETE",
            "GET"
        ]
        },
        "params": {
        "$id": "/properties/params",
        "type": "object",
        "properties": {
            "query": {
            "$id": "/properties/params/properties/query",
            "type": "object"
            },
            "headers": {
            "$id": "/properties/params/properties/headers",
            "type": "object"
            },
            "body": {
            "$id": "/properties/params/properties/body",
            "type": "string",
            "title": "The Body Schema ",
            "default": "",
            "examples": [
                ""
            ]
            }
        }
        },
        "resourcePath": {
        "$id": "/properties/resourcePath",
        "type": "string",
        "title": "The Resourcepath Schema ",
        "default": "",
        "examples": [
            ""
        ]
        }
    },
    "required": [
        "version",
        "method",
        "resourcePath"
    ]
}
```

Veja a seguir um exemplo de uma solicitação HTTP POST, com um corpo `text/plain`:

```
{
    "version": "2018-05-29",
    "method": "POST",
    "params": {
        "headers":{
        "Content-Type":"text/plain"
        },
        "body":"this is an example of text body"
    },
    "resourcePath": "/"
}
```

## Versão
<a name="version"></a>

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

Define a versão usada pelo modelo. `version` é comum a todos os modelos de mapeamento da solicitação e é necessária.

```
"version": "2018-05-29"
```

## Método
<a name="method"></a>

**nota**  
Isto se aplica somente ao modelo de mapeamento 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"></a>

**nota**  
Isto se aplica somente ao modelo de mapeamento 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 o modelo de mapeamento é avaliado, 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"></a>

**nota**  
Isto se aplica somente ao modelo de mapeamento 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
```
 **Observação**: 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"></a>

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