

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS AppSync JavaScript referensi fungsi resolver untuk HTTP
<a name="resolver-reference-http-js"></a>

Fungsi resolver AWS AppSync HTTP memungkinkan Anda mengirim permintaan dari titik akhir HTTP apa pun, dan tanggapan dari titik akhir HTTP Anda kembali AWS AppSync ke. AWS AppSync Dengan penangan permintaan Anda, Anda dapat memberikan petunjuk AWS AppSync tentang sifat operasi yang akan dipanggil. Bagian ini menjelaskan konfigurasi yang berbeda untuk resolver HTTP yang didukung.

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

Cuplikan berikut adalah contoh permintaan HTTP POST, dengan `text/plain` badan:

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

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

**catatan**  
Ini hanya berlaku untuk penangan Permintaan. 

Metode HTTP atau kata kerja (GET, POST, PUT, PATCH, atau DELETE) yang AWS AppSync mengirim ke titik akhir HTTP.

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

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

 

**catatan**  
Ini hanya berlaku untuk penangan Permintaan. 

Jalur sumber daya yang ingin Anda akses. Seiring dengan titik akhir di sumber data HTTP, jalur sumber daya membentuk URL tempat AWS AppSync layanan membuat permintaan.

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

Ketika permintaan dievaluasi, jalur ini dikirim sebagai bagian dari permintaan HTTP, termasuk titik akhir HTTP. Misalnya, contoh sebelumnya mungkin menerjemahkan ke yang berikut:

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

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

**catatan**  
Ini hanya berlaku untuk penangan Permintaan. 

Digunakan untuk menentukan tindakan apa yang dilakukan penelusuran Anda, paling sering dengan menetapkan nilai **kueri** di dalam **badan**. Namun, ada beberapa kemampuan lain yang dapat dikonfigurasi, seperti pemformatan respons.

** **header** **  
Informasi header, sebagai pasangan kunci-nilai. Baik kunci dan nilainya harus berupa string.  
Contoh:  

```
"headers" : {
    "Content-Type" : "application/json"
}
```
`Content-Type`Header yang didukung saat ini adalah:  

```
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
```
Anda tidak dapat mengatur header HTTP berikut:  

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

** **query** **  
Pasangan nilai kunci yang menentukan opsi umum, seperti pemformatan kode untuk respons JSON. Baik kunci dan nilainya harus berupa string. Contoh berikut menunjukkan bagaimana Anda dapat mengirim string query sebagai`?type=json`:  

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

** **tubuh** **  
Tubuh berisi badan permintaan HTTP yang Anda pilih untuk disetel. Badan permintaan selalu berupa string yang dikodekan UTF-8 kecuali jenis konten menentukan charset.  

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

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

Lihat contoh [di sini](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers-js.html).