

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

# Tutorial: Membuat REST API dengan integrasi proxy HTTP
<a name="api-gateway-create-api-as-simple-proxy-for-http"></a>

Integrasi proxy HTTP adalah mekanisme sederhana, kuat, dan serbaguna untuk membangun API yang memungkinkan aplikasi web mengakses beberapa sumber daya atau fitur dari titik akhir HTTP terintegrasi, misalnya seluruh situs web, dengan pengaturan yang efisien dari satu metode API. Dalam integrasi proxy HTTP, API Gateway meneruskan permintaan metode yang dikirimkan klien ke backend. Data permintaan yang diteruskan mencakup header permintaan, parameter string kueri, variabel jalur URL, dan payload. Titik akhir HTTP backend atau server web mem-parsing data permintaan yang masuk untuk menentukan respons yang dikembalikan. Integrasi proxy HTTP membuat klien dan backend berinteraksi secara langsung tanpa intervensi dari API Gateway setelah metode API disiapkan, kecuali untuk masalah yang diketahui seperti karakter yang tidak didukung, yang tercantum di dalamnya. [Catatan penting Amazon API Gateway](api-gateway-known-issues.md)

Dengan sumber daya proxy yang mencakup semua`{proxy+}`, dan `ANY` kata kerja catch-all untuk metode HTTP, Anda dapat menggunakan integrasi proxy HTTP untuk membuat API dari satu metode API. Metode ini mengekspos seluruh rangkaian sumber daya HTTP yang dapat diakses publik dan operasi situs web. Ketika server web backend membuka lebih banyak sumber daya untuk akses publik, klien dapat menggunakan sumber daya baru ini dengan penyiapan API yang sama. Untuk mengaktifkan ini, pengembang situs web harus berkomunikasi dengan jelas kepada pengembang klien apa sumber daya baru dan operasi apa yang berlaku untuk masing-masing sumber daya tersebut.



Sebagai pengantar singkat, tutorial berikut menunjukkan integrasi proxy HTTP. Dalam tutorial, kita membuat API menggunakan konsol API Gateway untuk berintegrasi dengan PetStore situs web melalui sumber daya proxy generik`{proxy+}`, dan membuat placeholder metode HTTP dari. `ANY` 

**Topics**
+ [Membuat API dengan integrasi proxy HTTP menggunakan konsol API Gateway](#api-gateway-create-api-as-simple-proxy-for-http-build)
+ [Uji API dengan integrasi proxy HTTP](#api-gateway-create-api-as-simple-proxy-for-http-test)

## Membuat API dengan integrasi proxy HTTP menggunakan konsol API Gateway
<a name="api-gateway-create-api-as-simple-proxy-for-http-build"></a>

 Prosedur berikut memandu Anda melalui langkah-langkah untuk membuat dan menguji API dengan sumber daya proxy untuk backend HTTP menggunakan konsol API Gateway. Backend HTTP adalah `PetStore` situs web (`http://petstore-demo-endpoint.execute-api.com/petstore/pets`) dari[Tutorial: Membuat REST API dengan integrasi non-proxy HTTP](api-gateway-create-api-step-by-step.md), di mana tangkapan layar digunakan sebagai alat bantu visual untuk mengilustrasikan elemen UI API Gateway. Jika Anda baru menggunakan konsol API Gateway untuk membuat API, Anda mungkin ingin mengikuti bagian itu terlebih dahulu. 

**Untuk membuat API**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Jika ini adalah pertama kalinya Anda menggunakan API Gateway, Anda akan melihat halaman yang memperkenalkan Anda ke fitur layanan. Di bawah **REST API**, pilih **Build**. **Saat munculan **Create Example API** muncul, pilih OK.**

   Jika ini bukan pertama kalinya Anda menggunakan API Gateway, pilih **Buat API**. Di bawah **REST API**, pilih **Build**.

1.  Untuk **nama API**, masukkan**HTTPProxyAPI**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Tetap tetapkan **jenis endpoint API** ke **Regional**.

1. Untuk **jenis alamat IP**, pilih **IPv4**.

1. Pilih **Buat API**.

Pada langkah ini, Anda membuat jalur sumber daya proxy dari`{proxy+}`. Ini adalah placeholder dari salah satu titik akhir backend di bawah. `http://petstore-demo-endpoint.execute-api.com/` Misalnya, bisa jadi`petstore`,`petstore/pets`, dan`petstore/pets/{petId}`. API Gateway membuat `ANY` metode saat Anda membuat `{proxy+}` sumber daya dan berfungsi sebagai placeholder untuk salah satu kata kerja HTTP yang didukung pada waktu berjalan.

**Untuk membuat sumber daya**/\$1proxy\$1**\$1**

1. Pilih API Anda. 

1. Di panel navigasi utama, pilih **Resources**.

1. Pilih **Buat sumber daya**.

1. Aktifkan **sumber daya Proxy**.

1. Pertahankan **jalur Sumber Daya** sebagai`/`.

1. Untuk **Nama sumber daya**, masukkan **\$1proxy\$1\$1**.

1. Tetap nonaktifkan **CORS (Cross Origin Resource Sharing)**.

1. Pilih **Buat sumber daya**.  
![\[Buat sumber daya anak.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-simple-proxy-create-proxy-resource-new-console.png)

Pada langkah ini, Anda mengintegrasikan `ANY` metode dengan titik akhir HTTP backend, menggunakan integrasi proxy. Dalam integrasi proxy, API Gateway meneruskan permintaan metode yang dikirimkan klien ke backend tanpa intervensi dari API Gateway.

**Untuk membuat `ANY` metode**

1. Pilih sumber daya**/\$1proxy\$1\$1**.

1. Pilih metode **APAPUN**.

1. Di bawah simbol peringatan, pilih **Edit integrasi**. Anda tidak dapat menerapkan API yang memiliki metode tanpa integrasi.

1. Untuk **jenis Integrasi**, pilih **HTTP**.

1. Aktifkan **integrasi proxy HTTP**.

1. Untuk **metode HTTP**, pilih **APAPUN**.

1. Untuk **URL Endpoint**, masukkan**http://petstore-demo-endpoint.execute-api.com/\$1proxy\$1**.

1. Pilih **Simpan**.

## Uji API dengan integrasi proxy HTTP
<a name="api-gateway-create-api-as-simple-proxy-for-http-test"></a>

 Apakah permintaan klien tertentu berhasil tergantung pada hal berikut: 
+  Jika backend telah membuat titik akhir backend yang sesuai tersedia dan, jika demikian, telah memberikan izin akses yang diperlukan. 
+ Jika klien memberikan masukan yang benar.

Misalnya, PetStore API yang digunakan di sini tidak mengekspos `/petstore` sumber daya. Dengan demikian, Anda mendapatkan `404 Resource Not Found` respons yang berisi pesan kesalahan`Cannot GET /petstore`. 

Selain itu, klien harus dapat menangani format output backend untuk mengurai hasil dengan benar. API Gateway tidak memediasi untuk memfasilitasi interaksi antara klien dan backend. 

**Untuk menguji API yang terintegrasi dengan PetStore situs web menggunakan integrasi proxy HTTP melalui sumber daya proxy**

1. Pilih tab **Uji**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

1. Untuk **jenis Metode**, pilih`GET`.

1. Untuk **Path**, di bawah **proxy**, masukkan**petstore/pets**.

1. Untuk **string Query**, masukkan**type=fish**.

1. Pilih **Uji**.

     
![\[Gunakan fitur uji untuk menguji metode.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-simple-proxy-petstore-call-proxy-resource-new-console.png)

   Karena situs web backend mendukung `GET /petstore/pets?type=fish` permintaan, ia mengembalikan respons yang berhasil serupa dengan yang berikut ini:

   ```
   [
     {
       "id": 1,
       "type": "fish",
       "price": 249.99
     },
     {
       "id": 2,
       "type": "fish",
       "price": 124.99
     },
     {
       "id": 3,
       "type": "fish",
       "price": 0.99
     }
   ]
   ```

   Jika Anda mencoba menelepon`GET /petstore`, Anda mendapatkan `404` respons dengan pesan kesalahan`Cannot GET /petstore`. Ini karena backend tidak mendukung operasi yang ditentukan. Jika Anda menelepon`GET /petstore/pets/1`, Anda mendapatkan `200 OK` respons dengan muatan berikut, karena permintaan didukung oleh PetStore situs web.

   ```
   {
     "id": 1,
     "type": "dog",
     "price": 249.99
   }
   ```

Anda juga dapat menggunakan browser untuk menguji API Anda. Terapkan API Anda dan kaitkan ke panggung untuk membuat URL Invoke API Anda.

**Untuk men-deploy API Anda**

1. Pilih **Deploy API**.

1. Untuk **Stage**, pilih **New stage**.

1. Untuk **nama Panggung**, masukkan**test**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Pilih **Deploy**.

Sekarang klien dapat menghubungi API Anda. 

**Untuk menjalankan API Anda**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih API Anda.

1. Di panel navigasi utama, pilih **Stage**.

1. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda.

   Masukkan URL pemanggilan API Anda di browser web. 

   URL lengkap akan terlihat seperti`https://abcdef123.execute-api.us-east-2.amazonaws.com/test/petstore/pets?type=fish`. 

   Browser Anda mengirimkan `GET` permintaan ke API.

1. Hasilnya harus sama dengan yang dikembalikan saat Anda menggunakan **Test** di konsol API Gateway.