

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

# Konversi jenis konten di API Gateway
<a name="api-gateway-payload-encodings-workflow"></a>

 Kombinasi API Anda`binaryMediaTypes`, header dalam permintaan klien, dan `contentHandling` properti integrasi menentukan cara API Gateway menyandikan payload.

[Tabel berikut menunjukkan cara API Gateway mengonversi payload permintaan untuk konfigurasi spesifik `Content-Type` header permintaan, `binaryMediaTypes` daftar [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)sumber daya, dan nilai `contentHandling` properti sumber daya Integrasi.](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html)


| Metode permintaan payload | Permintaan `Content-Type` header | `binaryMediaTypes` | `contentHandling` | Muatan permintaan integrasi | 
| --- | --- | --- | --- | --- | 
| Data teks | Tipe data apa pun | Tidak terdefinisi | Tidak terdefinisi | UTF8-string yang dikodekan | 
| Data teks | Tipe data apa pun | Tidak terdefinisi | CONVERT\_TO\_BINARY | Gumpalan biner yang didekode Base64 | 
| Data teks | Tipe data apa pun | Tidak terdefinisi | CONVERT\_TO\_TEXT | UTF8-string yang dikodekan | 
| Data teks | Tipe data teks | Atur dengan jenis media yang cocok | Tidak terdefinisi | Data teks | 
| Data teks | Tipe data teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Gumpalan biner yang didekode Base64 | 
| Data teks | Tipe data teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | Data teks | 
| Data biner | Tipe data biner | Atur dengan jenis media yang cocok | Tidak terdefinisi | Data biner | 
| Data biner | Tipe data biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Data biner | 
| Data biner | Tipe data biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | String yang dikodekan Base64 | 

Tabel berikut menunjukkan cara API Gateway mengonversi payload respons untuk konfigurasi spesifik `Accept` header permintaan, `binaryMediaTypes` daftar [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)sumber daya, dan nilai `contentHandling` properti sumber daya. [IntegrationResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_IntegrationResponse.html)

**penting**  
 Jika permintaan berisi beberapa jenis media di `Accept` header, API Gateway hanya menghormati jenis `Accept` media pertama. Jika Anda tidak dapat mengontrol urutan jenis `Accept` media dan jenis media konten biner Anda bukan yang pertama dalam daftar, tambahkan jenis `Accept` media pertama dalam `binaryMediaTypes` daftar API Anda. API Gateway menangani semua jenis konten dalam daftar ini sebagai biner.   
Misalnya, untuk mengirim file JPEG menggunakan `<img>` elemen di browser, browser mungkin mengirim `Accept:image/webp,image/*,*/*;q=0.8` permintaan. Dengan menambahkan `image/webp` ke `binaryMediaTypes` daftar, titik akhir menerima file JPEG sebagai biner. 


| Payload respons integrasi | Permintaan `Accept` header | `binaryMediaTypes` | `contentHandling` | Metode respon payload | 
| --- | --- | --- | --- | --- | 
| Teks atau data biner | Jenis teks | Tidak terdefinisi | Tidak terdefinisi | UTF8-string yang dikodekan | 
| Teks atau data biner | Jenis teks | Tidak terdefinisi | CONVERT\_TO\_BINARY | Gumpalan yang didekode Base64 | 
| Teks atau data biner | Jenis teks | Tidak terdefinisi | CONVERT\_TO\_TEXT | UTF8-string yang dikodekan | 
| Data teks | Jenis teks | Atur dengan jenis media yang cocok | Tidak terdefinisi | Data teks | 
| Data teks | Jenis teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Gumpalan yang didekode Base64 | 
| Data teks | Jenis teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | UTF8-string yang dikodekan | 
| Data teks | Tipe biner | Atur dengan jenis media yang cocok | Tidak terdefinisi | Gumpalan yang didekode Base64 | 
| Data teks | Tipe biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Gumpalan yang didekode Base64 | 
| Data teks | Tipe biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | UTF8-string yang dikodekan | 
| Data biner | Jenis teks | Atur dengan jenis media yang cocok | Tidak terdefinisi | String yang dikodekan Base64 | 
| Data biner | Jenis teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Data biner | 
| Data biner | Jenis teks | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | String yang dikodekan Base64 | 
| Data biner | Tipe biner | Atur dengan jenis media yang cocok | Tidak terdefinisi | Data biner | 
| Data biner | Tipe biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_BINARY | Data biner | 
| Data biner | Tipe biner | Atur dengan jenis media yang cocok | CONVERT\_TO\_TEXT | String yang dikodekan Base64 | 

Saat mengonversi payload teks menjadi gumpalan biner, API Gateway mengasumsikan bahwa data teks adalah string yang dikodekan base64 dan mengeluarkan data biner sebagai gumpalan yang diterjemahkan base64. Jika konversi gagal, ia mengembalikan `500` respons, yang menunjukkan kesalahan konfigurasi API. Anda tidak menyediakan template pemetaan untuk konversi semacam itu, meskipun Anda harus mengaktifkan [perilaku passthrough](integration-passthrough-behaviors.md) di API.

Saat mengonversi payload biner menjadi string teks, API Gateway selalu menerapkan pengkodean base64 pada data biner. Anda dapat menentukan templat pemetaan untuk muatan semacam itu, tetapi hanya dapat mengakses string yang dikodekan base64 dalam templat pemetaan`$input.body`, seperti yang ditunjukkan dalam kutipan contoh templat pemetaan berikut. 

```
{   
    "data": "$input.body"
}
```

Agar payload biner melewati tanpa modifikasi, Anda harus mengaktifkan [perilaku passthrough](integration-passthrough-behaviors.md) di API. 