

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS AppSync riferimento al modello di mappatura del resolver per HTTP
<a name="resolver-mapping-template-reference-http"></a>

**Nota**  
Ora supportiamo principalmente il runtime APPSYNC\_JS e la relativa documentazione. [Prendi in considerazione l'utilizzo del runtime APPSYNC\_JS e delle relative guide qui.](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)

I modelli di mappatura del resolver AWS AppSync HTTP consentono di inviare richieste da qualsiasi endpoint HTTP e AWS AppSync di inviare risposte dall'endpoint HTTP a. AWS AppSync Utilizzando i modelli di mappatura, è possibile fornire suggerimenti AWS AppSync sulla natura dell'operazione da richiamare. In questa sezione vengono descritti i diversi modelli di mappatura per i resolver HTTP supportati.

## Richiedi un modello di mappatura
<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
}
```

Dopo che il modello di mappatura della richiesta HTTP è stato risolto, la rappresentazione dello schema JSON del modello di mappatura della richiesta è simile alla seguente:

```
{
    "$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"
    ]
}
```

Di seguito è riportato un esempio di richiesta HTTP POST con un corpo `text/plain`:

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

## Versione
<a name="version"></a>

**Nota**  
Questo vale solo per il modello di mappatura Request. 

Definisce la versione usata dal modello. `version` è comune a tutti i modelli di mappatura della richiesta ed è obbligatorio.

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

## Metodo
<a name="method"></a>

**Nota**  
Questo vale solo per il modello di mappatura Request. 

Metodo o verbo HTTP (GET, POST, PUT, PATCH o DELETE) che AWS AppSync invia all'endpoint HTTP.

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

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

**Nota**  
Questo vale solo per il modello di mappatura Request. 

Il percorso delle risorse a cui si desidera accedere. Oltre all'endpoint nell'origine dati HTTP, il percorso della risorsa costituisce l'URL a cui il AWS AppSync servizio effettua una richiesta.

```
"resourcePath": "/v1/users"
```

Quando il modello di mappatura viene valutato, questo percorso viene inviato come parte della richiesta HTTP, incluso l'endpoint HTTP. Ad esempio, l'esempio precedente potrebbe diventare il seguente:

```
PUT <endpoint>/v1/users
```

## Campi dei parametri
<a name="params-field"></a>

**Nota**  
Questo vale solo per il modello di mappatura Request. 

Usato per specificare l'operazione eseguita dalla ricerca, in genere impostando il valore **query** all'interno di **body**. Ci sono tuttavia numerose altre funzionalità che è possibile configurare, ad esempio la formattazione delle risposte.

** **headers** **  
Informazioni dell'intestazione, come coppie chiave-valore. Sia la chiave che il valore devono essere stringhe.  
Esempio:  

```
"headers" : {
    "Content-Type" : "application/json"
}
```
Le intestazioni `Content-Type` attualmente supportate sono:  

```
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
```
 **Nota**: non è possibile impostare le seguenti intestazioni HTTP:  

```
HOST
CONNECTION
USER-AGENT
EXPECTATION
TRANSFER_ENCODING
CONTENT_LENGTH
```

** **query** **  
Coppie chiave-valore che specificano opzioni comuni, ad esempio la formattazione del codice per le risposte JSON. Sia la chiave che il valore devono essere stringhe. L'esempio seguente mostra in che modo è possibile inviare una stringa di query come `?type=json`:  

```
"query" : {
    "type" : "json"
}
```

** **body** **  
Il corpo contiene il corpo della richiesta HTTP che si decide di impostare. La richiesta corpo è sempre una stringa con codifica UTF-8, a meno che il tipo di contenuto non specifichi il charset.  

```
"body":"body string"
```

## Risposta
<a name="response"></a>

Consulta un esempio [qui](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers.html).