

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS AppSync JavaScript référence de fonction de résolution pour HTTP
<a name="resolver-reference-http-js"></a>

Les fonctions de résolution AWS AppSync HTTP vous permettent d'envoyer des demandes depuis n'importe quel point AWS AppSync de terminaison HTTP, et des réponses depuis votre point de terminaison HTTP vers AWS AppSync. Avec votre gestionnaire de demandes, vous pouvez fournir des indications AWS AppSync sur la nature de l'opération à invoquer. Cette section décrit les différentes configurations du résolveur HTTP pris en charge.

## Demande
<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;
};
```

L'extrait suivant est un exemple de requête HTTP POST, avec un `text/plain` corps :

```
export function request(ctx) {
  return {
    method: 'POST',
    params: {
      headers: { 'Content-Type': 'text/plain' },
      body: 'this is an example of text body',
    },
    resourcePath: '/',
  };
}
```

## Method
<a name="method-js"></a>

**Note**  
Cela s'applique uniquement au gestionnaire de demandes. 

Méthode ou verbe HTTP (GET, POST, PUT, PATCH ou DELETE) qui AWS AppSync envoie au point de terminaison HTTP.

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

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

 

**Note**  
Cela s'applique uniquement au gestionnaire de demandes. 

Chemin de la ressource à laquelle vous souhaitez accéder. Avec le point de terminaison dans la source de données HTTP, le chemin de la ressource constitue l'URL à laquelle le AWS AppSync service envoie une demande.

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

Lorsque la demande est évaluée, ce chemin est envoyé dans le cadre de la requête HTTP, y compris le point de terminaison HTTP. Ainsi, l'exemple précédent pourrait donner :

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

## Champs de paramètres
<a name="params-field-js"></a>

**Note**  
Cela s'applique uniquement au gestionnaire de demandes. 

Permet de spécifier l'action exécutée par votre recherche, plus couramment en définissant la valeur de **query** à l'intérieur de la section **body**. Toutefois, il existe plusieurs autres capacités qui peuvent être configurées, comme la mise en forme des réponses.

** **headers** **  
Informations d'en-tête, sous forme de paires clé-valeur. La clé et la valeur doivent être des chaînes.  
Par exemple :  

```
"headers" : {
    "Content-Type" : "application/json"
}
```
Les en-têtes `Content-Type` actuellement pris en charge sont les suivants :  

```
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
```
Vous ne pouvez pas définir les en-têtes HTTP suivants :  

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

** **query** **  
Paires clé-valeur qui spécifient les options courantes, telles que la mise en forme du code pour les réponses JSON. La clé et la valeur doivent être une chaîne. L'exemple suivant montre comment envoyer une chaîne de requête comme `?type=json` :  

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

** **body** **  
Le corps contient le corps de la demande HTTP que vous choisissez de définir. Le corps de la demande est toujours une chaîne encodée en UTF-8, sauf si le type de contenu spécifie le jeu de caractères.  

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

## Réponse
<a name="response-js"></a>

Consultez un exemple [ici](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers-js.html).