API kalkulator sederhana di API Gateway - APIGerbang Amazon

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

API kalkulator sederhana di API Gateway

API kalkulator sederhana kami mengekspos tiga metode (GET, POST, GET) untuk memanggil. Fungsi Lambda Kalkulator Sederhana Representasi grafis dari API ini ditampilkan sebagai berikut:

API kalkulator sederhana untuk SDK yang dihasilkan

Ketiga metode ini menunjukkan cara berbeda untuk memasok input untuk fungsi Lambda backend untuk melakukan operasi yang sama:

  • GET /?a=...&b=...&op=...Metode ini menggunakan parameter kueri untuk menentukan input.

  • POST /Metode ini menggunakan payload JSON {"a":"Number", "b":"Number", "op":"string"} untuk menentukan input.

  • GET /{a}/{b}/{op}Metode ini menggunakan parameter jalur untuk menentukan input.

Jika tidak ditentukan, API Gateway menghasilkan nama metode SDK yang sesuai dengan menggabungkan metode HTTP dan bagian jalur. Bagian jalur root (/) disebut sebagaiApi Root. Misalnya, nama metode Java SDK default untuk metode API GET /?a=...&b=...&op=... adalahgetABOp, nama metode SDK default untuk POST / adalahpostApiRoot, dan nama metode SDK default untuk adalah. GET /{a}/{b}/{op} getABOp SDK individu dapat menyesuaikan konvensi. Lihat dokumentasi di sumber SDK yang dihasilkan untuk nama metode khusus SDK.

Anda dapat, dan harus, mengganti nama metode SDK default dengan menentukan properti operationName pada setiap metode API. Anda dapat melakukannya saat membuat metode API atau memperbarui metode API menggunakan API Gateway REST API. Dalam definisi API Swagger, Anda dapat mengatur operationId untuk mencapai hasil yang sama.

Sebelum menunjukkan cara memanggil metode ini menggunakan SDK yang dihasilkan oleh API Gateway untuk API ini, mari kita ingat secara singkat cara mengaturnya. Untuk petunjuk mendetail, lihat Berkembang REST APIs di API Gateway. Jika Anda baru mengenal API Gateway, lihat Pilih tutorial AWS Lambda integrasi terlebih dahulu.

Buat model untuk input dan output

Untuk menentukan input yang diketik dengan kuat di SDK, kami membuat Input model untuk API. Untuk menggambarkan tipe data badan respons, kami membuat Output model dan Result model.

Untuk membuat model untuk input, output, dan hasil
  1. Di panel navigasi utama, pilih Model.

  2. Pilih Buat model.

  3. Untuk Nama, masukkan input.

  4. Untuk jenis Konten, masukkanapplication/json.

    Jika tidak ada jenis konten yang cocok ditemukan, validasi permintaan tidak dilakukan. Untuk menggunakan model yang sama terlepas dari jenis konten, masukkan$default.

  5. Untuk skema Model, masukkan model berikut:

    { "$schema" : "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"Input" }
  6. Pilih Buat model.

  7. Ulangi langkah-langkah berikut untuk membuat Output model dan Result model.

    Untuk Output model, masukkan yang berikut ini untuk skema Model:

    { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }

    Untuk Result model, masukkan yang berikut ini untuk skema Model. Ganti ID API abc123 dengan ID API Anda.

    { "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Output" } }, "title":"Result" }

Siapkan GET/parameter kueri metode

Untuk GET /?a=..&b=..&op=.. metode ini, parameter kueri dideklarasikan dalam Permintaan Metode:

Untuk mengatur parameter string kueri GET/URL
  1. Di bagian Permintaan metode untuk GET metode pada sumber daya root (/), pilih Edit.

  2. Pilih parameter string kueri URL dan lakukan hal berikut:

    1. Pilih Tambahkan string kueri.

    2. Untuk Nama, masukkan a.

    3. Tetap Diperlukan dan Caching dimatikan.

    4. Tetap caching dimatikan.

    Ulangi langkah yang sama dan buat string kueri bernama b dan string kueri bernamaop.

  3. Pilih Simpan.

Siapkan model data untuk payload sebagai masukan ke backend

Untuk POST / metode ini, kita membuat Input model dan menambahkannya ke permintaan metode untuk menentukan bentuk data input.

Untuk mengatur model data untuk payload sebagai masukan ke backend
  1. Di bagian Permintaan metode, untuk POST metode pada sumber daya root (/) pilih Edit.

  2. Pilih badan Permintaan.

  3. Pilih Tambah model.

  4. Untuk jenis Konten, masukkanapplication/json.

  5. Untuk Model, pilih Input.

  6. Pilih Simpan.

Dengan model ini, pelanggan API Anda dapat memanggil SDK untuk menentukan input dengan membuat instance objek. Input Tanpa model ini, pelanggan Anda akan diminta untuk membuat objek kamus untuk mewakili input JSON ke fungsi Lambda.

Mengatur model data untuk output hasil dari backend

Untuk ketiga metode, kita membuat Result model dan menambahkannya ke metode Method Response untuk menentukan bentuk output yang dikembalikan oleh fungsi Lambda.

Untuk mengatur model data untuk output hasil dari backend
  1. Pilih sumber daya/{a}/{b}/{op}, lalu pilih metode GET.

  2. Pada tab Respons Metode, di bawah Respons 200, pilih Edit.

  3. Di bawah Badan respons, pilih Tambahkan model.

  4. Untuk jenis Konten, masukkanapplication/json.

  5. Untuk Model, pilih Hasil.

  6. Pilih Simpan.

Dengan model ini, pelanggan API Anda dapat mengurai output yang berhasil dengan membaca properti Result objek. Tanpa model ini, pelanggan akan diminta untuk membuat objek kamus untuk mewakili output JSON.