Tutorial: Buat REST API dengan mengimpor contoh - APIGerbang Amazon

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

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 API sendiri, 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 adalahhttp://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 jugaHTTP.

  • 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 adalahhttp://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.

  2. Lakukan salah satu hal berikut ini:

    • Untuk membuat API pertama Anda, untuk REST API, pilih Build.

    • Jika Anda pernah membuat API sebelumnya, pilih Create API, lalu pilih Build for REST API.

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

    Contoh REST API di konsol API Gateway.

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

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

    Contoh API setelah mengimpornya ke konsol API Gateway.

    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.

  5. 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.

    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.

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

  7. Misalnya, untuk menguji POST /pets metode, masukkan {"type": "dog","price": 249.99} payload berikut ke dalam badan Permintaan, lalu pilih Uji.

    Uji metode POST di konsol API Gateway.

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

  8. Hasil ditampilkan sebagai berikut:

    Hasil pengujian metode POST di konsol API Gateway.

    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.

  9. Untuk menerapkan API sampel, pilih Deploy API.

    Gunakan tombol deploy untuk men-deploy API Anda, sehingga pemanggil API dapat memanggil API Anda.
  10. Untuk Stage, pilih New stage, dan kemudian entertest.

  11. (Opsional) Untuk Deskripsi, masukkan deskripsi.

  12. Pilih Deploy.

  13. 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.
  14. 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.

  15. 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, misalnya1, 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). Untuk contoh permintaan seperti itu, lihatTutorial: Buat REST API dengan integrasi HTTP non-proxy.