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:
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
-
Di panel navigasi utama, pilih Model.
-
Pilih Buat model.
-
Untuk Nama, masukkan
input
. -
Untuk jenis Konten, masukkan
application/json
.Jika tidak ada jenis konten yang cocok ditemukan, validasi permintaan tidak dilakukan. Untuk menggunakan model yang sama terlepas dari jenis konten, masukkan
$default
. -
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" }
Pilih Buat model.
Ulangi langkah-langkah berikut untuk membuat
Output
model danResult
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 APIabc123
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
Di bagian Permintaan metode untuk
GET
metode pada sumber daya root (/
), pilih Edit.Pilih parameter string kueri URL dan lakukan hal berikut:
Pilih Tambahkan string kueri.
Untuk Nama, masukkan
a
.Tetap Diperlukan dan Caching dimatikan.
Tetap caching dimatikan.
Ulangi langkah yang sama dan buat string kueri bernama
b
dan string kueri bernamaop
.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
Di bagian Permintaan metode, untuk
POST
metode pada sumber daya root (/
) pilih Edit.Pilih badan Permintaan.
Pilih Tambah model.
Untuk jenis Konten, masukkan
application/json
.Untuk Model, pilih Input.
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
Pilih sumber daya/{a}/{b}/{op}, lalu pilih metode GET.
-
Pada tab Respons Metode, di bawah Respons 200, pilih Edit.
-
Di bawah Badan respons, pilih Tambahkan model.
-
Untuk jenis Konten, masukkan
application/json
. -
Untuk Model, pilih Hasil.
-
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.