

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS AppSync JavaScript Resolver-Funktionsreferenz für HTTP
<a name="resolver-reference-http-js"></a>

Die AWS AppSync HTTP-Resolver-Funktionen ermöglichen es Ihnen, Anfragen von einem beliebigen HTTP-Endpunkt und Antworten von Ihrem HTTP-Endpunkt zurück AWS AppSync zu senden. AWS AppSync Mit Ihrem Request-Handler können Sie AWS AppSync Hinweise zur Art des aufzurufenden Vorgangs geben. In diesem Abschnitt werden die verschiedenen Konfigurationen für den unterstützten HTTP-Resolver beschrieben.

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

Der folgende Ausschnitt ist ein Beispiel für eine HTTP-POST-Anfrage mit einem Hauptteil: `text/plain`

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

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

**Anmerkung**  
Dies gilt nur für den Request-Handler. 

HTTP-Methode oder Verb (GET, POST, PUT, PATCH oder DELETE), das AWS AppSync an den HTTP-Endpunkt sendet.

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

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

 

**Anmerkung**  
Dies gilt nur für den Request-Handler. 

Der Ressourcenpfad, auf den Sie zugreifen möchten. Zusammen mit dem Endpunkt in der HTTP-Datenquelle bildet der Ressourcenpfad die URL, an die der AWS AppSync Dienst eine Anfrage stellt.

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

Wenn die Anfrage ausgewertet wird, wird dieser Pfad als Teil der HTTP-Anfrage gesendet, einschließlich des HTTP-Endpunkts. Das vorherige Beispiel kann dann beispielsweise so aussehen:

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

## Params-Felder
<a name="params-field-js"></a>

**Anmerkung**  
Dies gilt nur für den Request-Handler. 

Wird verwendet, um anzugeben, welche Aktion die Suche durchführt, meistens indem der **Abfragewert** im **Body** festgelegt wird. Es gibt jedoch einige andere Funktionen, die konfiguriert werden können, wie z. B. die Formatierung von Antworten.

** **Header** **  
Die Header-Informationen, wie beispielsweise Schlüssel-Wert-Paare. Der Schlüssel und der Wert müssen beide Strings sein.  
Beispiel:  

```
"headers" : {
    "Content-Type" : "application/json"
}
```
Derzeit werden folgende `Content-Type`-Header unterstützt:  

```
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
```
Sie können die folgenden HTTP-Header nicht festlegen:  

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

** **query** **  
Schlüssel-Wert-Paare, die allgemeine Optionen angeben, z. B. Codeformatierung für JSON-Antworten. Der Schlüssel und der Wert müssen beide Strings sein. Das folgende Beispiel zeigt, wie Sie eine Abfragezeichenfolge als `?type=json` senden können:  

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

** **body** **  
Der Rumpf enthält den HTTP-Anforderungstext, den Sie festgelegen. Der Anforderungstext ist immer eine UTF-8-codierte Zeichenfolge, es sei denn, der Inhaltstyp gibt den Zeichensatz an.  

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

## Antwort
<a name="response-js"></a>

Sehen Sie ein Beispiel [hier](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers-js.html).