

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

# Tutorial: Buat REST API dengan mengimpor contoh
<a name="api-gateway-create-api-from-example"></a>

Anda dapat menggunakan konsol Amazon API Gateway untuk membuat dan menguji REST API sederhana dengan integrasi HTTP untuk PetStore situs web. Definisi API telah dikonfigurasi sebelumnya sebagai file OpenAPI 2.0. Setelah memuat definisi API ke dalam API Gateway, Anda dapat menggunakan konsol API Gateway untuk memeriksa struktur dasar API atau cukup menerapkan dan menguji API. 

 PetStore Contoh API mendukung metode berikut bagi klien untuk mengakses situs backend HTTP dari. `http://petstore-demo-endpoint.execute-api.com/petstore/pets` 

**catatan**  
Tutorial ini menggunakan endpoint HTTP sebagai contoh. Saat Anda membuat sendiri APIs, kami sarankan Anda menggunakan titik akhir HTTPS untuk integrasi HTTP Anda.
+ `GET /`: untuk akses baca sumber daya root API yang tidak terintegrasi dengan titik akhir backend apa pun. API Gateway merespons dengan ikhtisar PetStore situs web. Ini adalah contoh dari jenis `MOCK` integrasi.
+ `GET /pets`: untuk akses baca ke sumber daya API yang terintegrasi dengan `/pets` sumber daya backend `/pets` bernama sama. Backend mengembalikan halaman hewan peliharaan yang tersedia di file. PetStore Ini adalah contoh dari jenis `HTTP` integrasi. URL dari titik akhir integrasi adalah`http://petstore-demo-endpoint.execute-api.com/petstore/pets`.
+ `POST /pets`: untuk akses tulis ke `/pets` sumber daya API yang terintegrasi dengan sumber daya backend`/petstore/pets`. Setelah menerima permintaan yang benar, backend menambahkan hewan peliharaan yang ditentukan ke PetStore dan mengembalikan hasilnya ke pemanggil. Integrasi juga`HTTP`.
+ `GET /pets/{petId}`: untuk akses baca ke hewan peliharaan yang diidentifikasi oleh `petId` nilai sebagaimana ditentukan sebagai variabel jalur dari URL permintaan masuk. Metode ini juga memiliki tipe `HTTP` integrasi. Backend mengembalikan hewan peliharaan tertentu yang ditemukan di file. PetStore URL titik akhir HTTP backend adalah`http://petstore-demo-endpoint.execute-api.com/petstore/pets/n`, di mana `n` bilangan bulat sebagai pengidentifikasi hewan peliharaan yang ditanyakan.

 API mendukung akses CORS melalui `OPTIONS` metode jenis `MOCK` integrasi. API Gateway mengembalikan header yang diperlukan yang mendukung akses CORS. 

Prosedur berikut memandu Anda melalui langkah-langkah untuk membuat dan menguji API dari contoh menggunakan API Gateway Console.

**Untuk mengimpor, membangun, dan menguji contoh API**

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

1. Lakukan salah satu tindakan berikut:
   + Untuk membuat API pertama Anda, untuk **REST API**, pilih **Build**.
   + Jika Anda telah membuat API sebelumnya, pilih **Buat API**, lalu pilih **Build** for **REST API**.

1.  Di bawah **Create REST API**, pilih **Example** API lalu pilih **Create API** untuk membuat contoh API. 

      
![\[Contoh REST API di konsol API Gateway.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-new-console.png)

    Anda dapat menggulir ke bawah definisi OpenAPI untuk detail contoh API ini sebelum memilih **Create** API. 

1. Di panel navigasi utama, pilih **Resources**. API yang baru dibuat ditampilkan sebagai berikut:

      
![\[Contoh API setelah mengimpornya ke konsol API Gateway.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-result-new-console.png)

    Panel **Resources** menunjukkan struktur API yang dibuat sebagai pohon node. Metode API yang didefinisikan pada setiap sumber daya adalah tepi pohon. Ketika sumber daya dipilih, semua metodenya tercantum dalam tabel **Metode** di sebelah kanan. Ditampilkan dengan setiap metode adalah jenis metode, jenis integrasi, jenis otorisasi, dan persyaratan kunci API. 

1.  Untuk melihat detail metode, untuk memodifikasi pengaturannya, atau untuk menguji pemanggilan metode, pilih nama metode dari daftar metode atau pohon sumber daya. Di sini, kami memilih `POST /pets` metode sebagai ilustrasi: 

      
![\[Metode POST /pets untuk contoh API di konsol API Gateway.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-execution-new-console.png)

    Panel **eksekusi Metode** yang dihasilkan menyajikan tampilan logis dari struktur dan perilaku metode yang dipilih (`POST /pets`).

   **Permintaan Metode** **dan respons Metode** mewakili antarmuka API dengan frontend, dan **permintaan Integrasi** serta **respons Integrasi** mewakili antarmuka API dengan backend.

    Klien menggunakan API untuk mengakses fitur backend melalui permintaan **Metode**. API Gateway menerjemahkan permintaan klien, jika perlu, ke dalam formulir yang dapat diterima oleh backend dalam **permintaan Integrasi sebelum meneruskan permintaan** masuk ke backend. Permintaan yang ditransformasikan dikenal sebagai permintaan integrasi. Demikian pula, backend mengembalikan respons ke API Gateway dalam respons **Integrasi**. API Gateway kemudian merutekan ke **Method Response** sebelum mengirimnya ke klien. Sekali lagi, jika perlu, API Gateway dapat memetakan data respons backend ke formulir yang diharapkan oleh klien. 

    Untuk `POST` metode pada sumber daya API, payload permintaan metode dapat diteruskan ke permintaan integrasi tanpa modifikasi, jika payload permintaan metode memiliki format yang sama dengan payload permintaan integrasi. 

   Permintaan `GET /` metode menggunakan tipe `MOCK` integrasi dan tidak terikat pada titik akhir backend nyata. **Respons Integrasi** yang sesuai diatur untuk mengembalikan halaman HTML statis. Ketika metode dipanggil, API Gateway hanya menerima permintaan dan segera mengembalikan respons integrasi yang dikonfigurasi ke klien melalui **respons Metode**. Anda dapat menggunakan integrasi tiruan untuk menguji API tanpa memerlukan titik akhir backend. Anda juga dapat menggunakannya untuk menyajikan respons lokal, yang dihasilkan dari template pemetaan badan respons. 

   Sebagai pengembang API, Anda mengontrol perilaku interaksi frontend API Anda dengan mengonfigurasi permintaan metode dan respons metode. Anda mengontrol perilaku interaksi backend API Anda dengan menyiapkan permintaan integrasi dan respons integrasi. Ini melibatkan pemetaan data antara metode dan integrasi yang sesuai. Untuk saat ini, kami fokus pada pengujian API untuk memberikan pengalaman end-to-end pengguna. 

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

1.  Misalnya, untuk menguji `POST /pets` metode, masukkan **\$1"type": "dog","price": 249.99\$1** payload berikut ke dalam **badan Permintaan**, lalu pilih **Uji**.

      
![\[Uji metode POST di konsol API Gateway.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-test-new-console.png)

    Input menentukan atribut hewan peliharaan yang ingin kita tambahkan ke daftar hewan peliharaan di situs PetStore web. 

1. Hasil ditampilkan sebagai berikut:

      
![\[Hasil pengujian metode POST di konsol API Gateway.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-post-method-test-result-new-console.png)

    Entri **Log** output menunjukkan perubahan status dari permintaan metode ke permintaan integrasi, dan dari respons integrasi ke respons metode. Ini dapat berguna untuk memecahkan masalah kesalahan pemetaan yang menyebabkan permintaan gagal. Dalam contoh ini, tidak ada pemetaan yang diterapkan: payload permintaan metode diteruskan melalui permintaan integrasi ke backend dan, demikian pula, respons backend diteruskan melalui respons integrasi ke respons metode. 

    Untuk menguji API menggunakan klien selain test-invoke-request fitur API Gateway, Anda harus terlebih dahulu menerapkan API ke tahap. 

1.  Untuk menerapkan API sampel, pilih **Deploy** API. 

      
![\[Gunakan tombol deploy untuk men-deploy API Anda, sehingga pemanggil API dapat memanggil API Anda.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/api-gateway-create-api-by-importing-example-deploy-api-new-console.png)

1. Untuk **Stage**, pilih **New stage**, dan kemudian enter**test**.

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

1. Pilih **Deploy**.

1.  Di panel **Tahapan** yang dihasilkan, di bawah **Detail tahap**, **URL Invoke** menampilkan URL untuk memanggil permintaan metode API. `GET /`   
![\[Setelah Anda membuat REST API, konsol akan menampilkan URL pemanggilan API Anda.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. Pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di browser web. Respons yang berhasil mengembalikan hasil, yang dihasilkan dari template pemetaan dalam respons integrasi. 

1.  Di panel navigasi **Tahapan**, perluas tahap **pengujian**, pilih **GET** on`/pets/{petId}`, lalu salin nilai **URL Invoke** dari. `https://api-id.execute-api.region.amazonaws.com/test/pets/{petId}` `{petId}`singkatan dari variabel jalur. 

    Rekatkan nilai **URL Invoke** (diperoleh pada langkah sebelumnya) ke bilah alamat browser, ganti `{petId}` dengan, misalnya`1`, dan tekan Enter untuk mengirimkan permintaan. Respons 200 OK harus kembali dengan muatan JSON berikut: 

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

    Memanggil metode API seperti yang ditunjukkan dimungkinkan karena jenis **Otorisasi** disetel ke. `NONE` Jika `AWS_IAM` otorisasi digunakan, Anda akan menandatangani permintaan menggunakan protokol [Signature Version 4 (SigV4) atau Signature Version](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html) [4a (Sigv4a](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html#how-sigv4a-works)). Untuk contoh permintaan seperti itu, lihat[Tutorial: Membuat REST API dengan integrasi non-proxy HTTP](api-gateway-create-api-step-by-step.md). 