Tutorial: Buat kalkulator REST API dengan dua integrasi AWS layanan dan satu integrasi non-proxy Lambda - APIGerbang Amazon

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

Tutorial: Buat kalkulator REST API dengan dua integrasi AWS layanan dan satu integrasi non-proxy Lambda

Tutorial: Buat REST API dengan integrasi non-proxy LambdaPenggunaan Lambda Function integrasi secara eksklusif. Lambda Functionintegrasi adalah kasus khusus dari jenis AWS Service integrasi yang melakukan banyak pengaturan integrasi untuk Anda, seperti secara otomatis menambahkan izin berbasis sumber daya yang diperlukan untuk menjalankan fungsi Lambda. Di sini, dua dari tiga integrasi menggunakan AWS Service integrasi. Dalam jenis integrasi ini, Anda memiliki lebih banyak kontrol, tetapi Anda harus melakukan tugas secara manual seperti membuat dan menentukan IAM peran yang berisi izin yang sesuai.

Dalam tutorial ini, Anda akan membuat fungsi Calc Lambda yang mengimplementasikan operasi aritmatika dasar, menerima dan mengembalikan input dan output yang diformat. JSON Kemudian Anda akan membuat REST API dan mengintegrasikannya dengan fungsi Lambda dengan cara berikut:

  1. Dengan mengekspos GET metode pada /calc sumber daya untuk menjalankan fungsi Lambda, memasok input sebagai parameter string kueri. (AWS Serviceintegrasi)

  2. Dengan mengekspos POST metode pada /calc sumber daya untuk menjalankan fungsi Lambda, memasok input dalam payload permintaan metode. (AWS Serviceintegrasi)

  3. Dengan mengekspos /calc/{operand1}/{operand2}/{operator} sumber daya GET bersarang untuk menjalankan fungsi Lambda, memasok input sebagai parameter jalur. (Lambda Functionintegrasi)

Selain mencoba tutorial ini, Anda mungkin ingin mempelajari file API definisi Terbuka untuk file CalcAPI, yang dapat Anda impor ke API Gateway dengan mengikuti petunjuk diKembangkan REST APIs menggunakan Open API in API Gateway.

Buat peran yang dapat diasumsikan IAM

APIAgar Anda dapat menjalankan fungsi Calc Lambda, Anda harus memiliki API peran yang IAM dapat diasumsikan Gateway, yang IAM merupakan peran dengan hubungan tepercaya berikut:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Peran yang Anda buat harus memiliki izin Lambda InvokeFunction. Jika tidak, API penelepon akan menerima 500 Internal Server Error tanggapan. Untuk memberikan izin ini kepada peran ini, Anda akan melampirkan IAM kebijakan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }

Inilah cara untuk mencapai semua ini:

Buat peran yang dapat diasumsikan API IAM Gateway
  1. Masuk ke IAM konsol.

  2. Pilih Peran.

  3. Pilih Buat Peran.

  4. Di Pilih jenis entitas tepercaya, pilih Layanan AWS .

  5. Di bawah Pilih layanan yang akan menggunakan di peran ini, pilih Lambda.

  6. Pilih Berikutnya: Izin.

  7. Pilih Buat Kebijakan.

    Jendela konsol Create Policy baru akan terbuka. Di jendela itu, lakukan hal berikut:

    1. Di JSONtab, ganti kebijakan yang ada dengan yang berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "*" } ] }
    2. Pilih Tinjau kebijakan.

    3. Di bawah Kebijakan Peninjauan, lakukan hal berikut:

      1. Untuk Nama, ketik nama seperti lambda_execute.

      2. Pilih Buat Kebijakan.

  8. Di jendela konsol Create Role asli, lakukan hal berikut:

    1. Di bawah Lampirkan kebijakan izin, pilih lambda_execute kebijakan Anda dari daftar tarik-turun.

      Jika kebijakan tidak terlihat dalam daftar, pilih tombol segarkan di bagian atas daftar. (Jangan me-refresh halaman browser!)

    2. Pilih Selanjutnya: Tag.

    3. Pilih Selanjutnya: Tinjau.

    4. Untuk nama Peran, ketikkan nama sepertilambda_invoke_function_assume_apigw_role.

    5. Pilih Buat peran.

  9. Pilih lambda_invoke_function_assume_apigw_role dari daftar peran Anda.

  10. Pilih tab Trust relationship.

  11. Pilih Edit trust relationship (Edit Hubungan Kepercayaan).

  12. Ganti kebijakan yang ada dengan yang berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "lambda.amazonaws.com", "apigateway.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  13. Pilih Perbarui Kebijakan Kepercayaan.

  14. Catat peran ARN untuk peran yang baru saja Anda buat. Anda akan membutuhkannya nanti.

Buat fungsi Calc Lambda

Selanjutnya Anda akan membuat fungsi Lambda menggunakan konsol Lambda.

  1. Di konsol Lambda, pilih Buat fungsi.

  2. Pilih Penulis dari Scratch.

  3. Untuk Nama, masukkan Calc.

  4. Untuk Runtime, pilih runtime Node.js atau Python terbaru yang didukung.

  5. Untuk semua opsi lain, gunakan pengaturan default.

  6. Pilih Buat fungsi.

  7. Salin fungsi Lambda berikut di runtime pilihan Anda dan tempelkan ke editor kode di konsol Lambda.

    Node.js
    export const handler = async function (event, context) { console.log("Received event:", JSON.stringify(event)); if ( event.a === undefined || event.b === undefined || event.op === undefined ) { return "400 Invalid Input"; } const res = {}; res.a = Number(event.a); res.b = Number(event.b); res.op = event.op; if (isNaN(event.a) || isNaN(event.b)) { return "400 Invalid Operand"; } switch (event.op) { case "+": case "add": res.c = res.a + res.b; break; case "-": case "sub": res.c = res.a - res.b; break; case "*": case "mul": res.c = res.a * res.b; break; case "/": case "div": if (res.b == 0) { return "400 Divide by Zero"; } else { res.c = res.a / res.b; } break; default: return "400 Invalid Operator"; } return res; };
    Python
    import json def lambda_handler(event, context): print(event) try: (event['a']) and (event['b']) and (event['op']) except KeyError: return '400 Invalid Input' try: res = { "a": float( event['a']), "b": float( event['b']), "op": event['op']} except ValueError: return '400 Invalid Operand' if event['op'] == '+': res['c'] = res['a'] + res['b'] elif event['op'] == '-': res['c'] = res['a'] - res['b'] elif event['op'] == '*': res['c'] = res['a'] * res['b'] elif event['op'] == '/': if res['b'] == 0: return '400 Divide by Zero' else: res['c'] = res['a'] / res['b'] else: return '400 Invalid Operator' return res
  8. Di bawah Peran eksekusi, pilih Pilih peran yang ada.

  9. Masukkan peran ARN untuk lambda_invoke_function_assume_apigw_role peran yang Anda buat sebelumnya.

  10. Pilih Deploy.

Fungsi ini membutuhkan dua operan (adanb) dan operator (op) dari parameter event input. Input adalah JSON objek dari format berikut:

{ "a": "Number" | "String", "b": "Number" | "String", "op": "String" }

Fungsi ini mengembalikan hasil yang dihitung (c) dan masukan. Untuk input yang tidak valid, fungsi mengembalikan nilai null atau string “Invalid op” sebagai hasilnya. Outputnya adalah dari JSON format berikut:

{ "a": "Number", "b": "Number", "op": "String", "c": "Number" | "String" }

Anda harus menguji fungsi di konsol Lambda sebelum mengintegrasikannya dengan langkah API berikutnya.

Uji fungsi Calc Lambda

Berikut cara menguji Calc fungsi Anda di konsol Lambda:

  1. Pilih tab Uji.

  2. Untuk nama acara pengujian, masukkancalc2plus5.

  3. Ganti definisi acara pengujian dengan yang berikut:

    { "a": "2", "b": "5", "op": "+" }
  4. Pilih Simpan.

  5. Pilih Uji.

  6. Perluas Hasil eksekusi: berhasil. Anda akan melihat yang berikut ini:

    { "a": 2, "b": 5, "op": "+", "c": 7 }

Buat Calc API

Prosedur berikut menunjukkan cara membuat untuk fungsi Calc Lambda yang baru saja Anda buat. API Di bagian berikutnya, Anda akan menambahkan sumber daya dan metode ke dalamnya.

Untuk membuat API
  1. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  2. Jika ini adalah pertama kalinya Anda menggunakan API Gateway, Anda melihat halaman yang memperkenalkan Anda ke fitur layanan. Di bawah RESTAPI, pilih Build. Ketika API popup Create Example muncul, pilih OK.

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

  3. Untuk APInama, masukkanLambdaCalc.

  4. (Opsional) Untuk Deskripsi, masukkan deskripsi.

  5. Pertahankan jenis API titik akhir disetel ke Regional.

  6. Pilih Buat API.

Integrasi 1: Buat GET metode dengan parameter kueri untuk memanggil fungsi Lambda

Dengan membuat GET metode yang meneruskan parameter string kueri ke fungsi Lambda, Anda mengaktifkan API untuk dipanggil dari browser. Pendekatan ini dapat berguna, terutama untuk APIs itu memungkinkan akses terbuka.

Setelah Anda membuatAPI, Anda membuat sumber daya. Biasanya, API sumber daya diatur dalam pohon sumber daya sesuai dengan logika aplikasi. Untuk langkah ini, Anda membuat sumber daya /calc.

Untuk membuat sumber daya /calc
  1. Pilih Buat sumber daya.

  2. Matikan sumber daya Proxy.

  3. Pertahankan jalur Sumber Daya sebagai/.

  4. Untuk Nama sumber daya, masukkan calc.

  5. Keep CORS(Cross Origin Resource Sharing) dimatikan.

  6. Pilih Buat sumber daya.

Dengan membuat GET metode yang meneruskan parameter string kueri ke fungsi Lambda, Anda mengaktifkan API untuk dipanggil dari browser. Pendekatan ini dapat berguna, terutama untuk APIs itu memungkinkan akses terbuka.

Dalam metode ini, Lambda mengharuskan POST permintaan digunakan untuk memanggil fungsi Lambda apa pun. Contoh ini menunjukkan bahwa HTTP metode dalam permintaan metode frontend dapat berbeda dari permintaan integrasi di backend.

Untuk membuat GET metode
  1. Pilih sumber daya /calc, lalu pilih Create method.

  2. Untuk jenis Metode, pilih GET.

  3. Untuk jenis Integrasi, pilih Layanan AWS.

  4. Untuk Wilayah AWS, pilih Wilayah AWS tempat Anda membuat fungsi Lambda Anda.

  5. Untuk Layanan AWS, pilih Lambda.

  6. Biarkan AWS subdomain kosong.

  7. Untuk HTTPmetode, pilih POST.

  8. Untuk tipe Action, pilih Use path override. Opsi ini memungkinkan kita untuk menentukan ARN tindakan Invoke untuk menjalankan Calc fungsi kita.

  9. Untuk Path override, masukkan2015-03-31/functions/arn:aws:lambda:us-east-2:account-id:function:Calc/invocations. Untuk account-id, masukkan Akun AWS ID Anda. Untukus-east-2, masukkan Wilayah AWS tempat Anda membuat fungsi Lambda Anda.

  10. Untuk peran Eksekusi, masukkan peran ARN untuklambda_invoke_function_assume_apigw_role.

  11. Jangan mengubah pengaturan cache Credential dan batas waktu default.

  12. Pilih Pengaturan permintaan Metode.

  13. Untuk validator Permintaan, pilih Validasi parameter string kueri dan header.

    Pengaturan ini akan menyebabkan pesan kesalahan kembali jika klien tidak menentukan parameter yang diperlukan.

  14. Pilih parameter string URL kueri.

    Sekarang Anda mengatur parameter string kueri untuk GETmetode pada sumber daya /calc sehingga dapat menerima input atas nama fungsi Lambda backend.

    Untuk membuat parameter string query lakukan hal berikut:

    1. Pilih Tambahkan string kueri.

    2. Untuk Nama, masukkan operand1.

    3. Aktifkan Diperlukan.

    4. Tetap caching dimatikan.

    Ulangi langkah yang sama dan buat string kueri bernama operand2 dan string kueri bernamaoperator.

  15. Pilih metode Buat.

Sekarang, Anda membuat template pemetaan untuk menerjemahkan string kueri yang disediakan klien ke payload permintaan integrasi seperti yang dipersyaratkan oleh fungsi. Calc Template ini memetakan tiga parameter string kueri yang dideklarasikan dalam permintaan Metode ke dalam nilai properti yang ditunjuk dari JSON objek sebagai masukan ke fungsi Lambda backend. JSONObjek yang ditransformasikan akan dimasukkan sebagai payload permintaan integrasi.

Untuk memetakan parameter input ke permintaan integrasi
  1. Pada tab Permintaan integrasi, di bawah Pengaturan permintaan integrasi, pilih Edit.

  2. Untuk Request body passthrough, pilih Bila tidak ada templat yang ditentukan (disarankan).

  3. Pilih template Pemetaan.

  4. Pilih Tambahkan templat pemetaan.

  5. Untuk jenis Konten, masukkanapplication/json.

  6. Untuk badan Template, masukkan kode berikut:

    { "a": "$input.params('operand1')", "b": "$input.params('operand2')", "op": "$input.params('operator')" }
  7. Pilih Simpan.

Anda sekarang dapat menguji GET metode Anda untuk memverifikasi bahwa metode tersebut telah diatur dengan benar untuk menjalankan fungsi Lambda.

Untuk menguji GET metode
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk string Query, masukkanoperand1=2&operand2=3&operator=+.

  3. Pilih Uji.

    Hasilnya akan terlihat mirip dengan ini:

    Buat API in API Gateway sebagai proxy Lambda

Integrasi 2: Buat POST metode dengan JSON payload untuk memanggil fungsi Lambda

Dengan membuat POST metode dengan JSON payload untuk memanggil fungsi Lambda, Anda membuatnya sehingga klien harus memberikan input yang diperlukan ke fungsi backend di badan permintaan. Untuk memastikan bahwa klien mengunggah data input yang benar, Anda akan mengaktifkan validasi permintaan pada payload.

Untuk membuat POST metode dengan JSON muatan
  1. Pilih sumber daya /calc, lalu pilih Create method.

  2. Untuk jenis Metode, pilih POST.

  3. Untuk jenis Integrasi, pilih Layanan AWS.

  4. Untuk Wilayah AWS, pilih Wilayah AWS tempat Anda membuat fungsi Lambda Anda.

  5. Untuk Layanan AWS, pilih Lambda.

  6. Biarkan AWS subdomain kosong.

  7. Untuk HTTPmetode, pilih POST.

  8. Untuk tipe Action, pilih Use path override. Opsi ini memungkinkan kita untuk menentukan ARN tindakan Invoke untuk menjalankan Calc fungsi kita.

  9. Untuk Path override, masukkan2015-03-31/functions/arn:aws:lambda:us-east-2:account-id:function:Calc/invocations. Untuk account-id, masukkan Akun AWS ID Anda. Untukus-east-2, masukkan Wilayah AWS tempat Anda membuat fungsi Lambda Anda.

  10. Untuk peran Eksekusi, masukkan peran ARN untuklambda_invoke_function_assume_apigw_role.

  11. Jangan mengubah pengaturan cache Credential dan batas waktu default.

  12. Pilih metode Buat.

Sekarang Anda membuat model input untuk menggambarkan struktur data input dan memvalidasi badan permintaan yang masuk.

Untuk membuat model input
  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:

    { "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"input" }
  6. Pilih Buat model.

Anda sekarang membuat model output. Model ini menjelaskan struktur data dari output yang dihitung dari backend. Ini dapat digunakan untuk memetakan data respons integrasi ke model yang berbeda. Tutorial ini bergantung pada perilaku passthrough dan tidak menggunakan model ini.

Untuk membuat model keluaran
  1. Pilih Buat model.

  2. Untuk Nama, masukkan output.

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

  4. Untuk skema Model, masukkan model berikut:

    { "type":"object", "properties":{ "c":{"type":"number"} }, "title":"output" }
  5. Pilih Buat model.

Anda sekarang membuat model hasil. Model ini menjelaskan struktur data dari data respons yang dikembalikan. Ini mereferensikan skema input dan output yang ditentukan dalam skema AndaAPI.

Untuk membuat model hasil
  1. Pilih Buat model.

  2. Untuk Nama, masukkan result.

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

  4. Untuk skema Model, masukkan model berikut dengan restapi-id. Anda restapi-id tercantum dalam tanda kurung di bagian atas konsol dalam alur berikut: API Gateway > APIs > LambdaCalc (abc123).

    { "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/restapi-id/models/input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/restapi-id/models/output" } }, "title":"result" }
  5. Pilih Buat model.

Anda sekarang mengonfigurasi permintaan metode POST metode Anda untuk mengaktifkan validasi permintaan pada badan permintaan yang masuk.

Untuk mengaktifkan validasi permintaan pada metode POST
  1. Di panel navigasi utama, pilih Sumber daya, lalu pilih POST metode dari pohon sumber daya.

  2. Pada tab Permintaan metode, di bawah Pengaturan permintaan metode, pilih Edit.

  3. Untuk validator Permintaan, pilih Validasi isi.

  4. Pilih Request body, lalu pilih Add model.

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

  6. Untuk Model, pilih input.

  7. Pilih Simpan.

Anda sekarang dapat menguji POST metode Anda untuk memverifikasi bahwa metode tersebut telah diatur dengan benar untuk menjalankan fungsi Lambda.

Untuk menguji POST metode
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk badan Permintaan, masukkan JSON payload berikut.

    { "a": 1, "b": 2, "op": "+" }
  3. Pilih Uji.

    Anda akan melihat output berikut:

    { "a": 1, "b": 2, "op": "+", "c": 3 }

Integrasi 3: Buat GET metode dengan parameter jalur untuk memanggil fungsi Lambda

Sekarang Anda akan membuat GET metode pada sumber daya yang ditentukan oleh urutan parameter jalur untuk memanggil fungsi Lambda backend. Nilai parameter jalur menentukan data input ke fungsi Lambda. Anda akan menggunakan template pemetaan untuk memetakan nilai parameter jalur masuk ke payload permintaan integrasi yang diperlukan.

Struktur API sumber daya yang dihasilkan akan terlihat seperti ini:

Buat API in API Gateway sebagai proxy Lambda
Untuk membuat sumber daya/{operand1}/{operand2}/{operator}
  1. Pilih Buat sumber daya.

  2. Untuk jalur Sumber Daya, pilih/calc.

  3. Untuk Nama sumber daya, masukkan {operand1}.

  4. Keep CORS(Cross Origin Resource Sharing) dimatikan.

  5. Pilih Buat sumber daya.

  6. Untuk jalur Sumber Daya, pilih/calc/{operand1}/.

  7. Untuk Nama sumber daya, masukkan {operand2}.

  8. Keep CORS(Cross Origin Resource Sharing) dimatikan.

  9. Pilih Buat sumber daya.

  10. Untuk jalur Sumber Daya, pilih/calc/{operand1}/{operand2}/.

  11. Untuk Nama sumber daya, masukkan {operator}.

  12. Keep CORS(Cross Origin Resource Sharing) dimatikan.

  13. Pilih Buat sumber daya.

Kali ini Anda akan menggunakan integrasi Lambda bawaan di konsol API Gateway untuk mengatur integrasi metode.

Untuk mengatur integrasi metode
  1. Pilih sumber daya/{operand1}/{operand2}/{operator}, lalu pilih Create method.

  2. Untuk jenis Metode, pilih GET.

  3. Untuk jenis Integrasi, pilih Lambda.

  4. Matikan integrasi proxy Lambda.

  5. Untuk fungsi Lambda, pilih Wilayah AWS tempat Anda membuat fungsi Lambda dan masukkan. Calc

  6. Tetap aktifkan batas waktu default.

  7. Pilih metode Buat.

Anda sekarang membuat template pemetaan untuk memetakan tiga parameter URL jalur, dideklarasikan ketika sumber daya /calc/ {operand1}/{operand2}/{operator} dibuat, ke dalam nilai properti yang ditunjuk dalam objek. JSON Karena URL jalur harus URL -encoded, operator divisi harus ditentukan sebagai %2F ganti. / Template ini menerjemahkan %2F ke dalam '/' sebelum meneruskannya ke fungsi Lambda.

Untuk membuat template pemetaan
  1. Pada tab Permintaan integrasi, di bawah Pengaturan permintaan integrasi, pilih Edit.

  2. Untuk Request body passthrough, pilih Bila tidak ada templat yang ditentukan (disarankan).

  3. Pilih template Pemetaan.

  4. Untuk jenis Konten, masukkanapplication/json.

  5. Untuk badan Template, masukkan kode berikut:

    { "a": "$input.params('operand1')", "b": "$input.params('operand2')", "op": #if($input.params('operator')=='%2F')"/"#{else}"$input.params('operator')"#end }
  6. Pilih Simpan.

Anda sekarang dapat menguji GET metode Anda untuk memverifikasi bahwa itu telah diatur dengan benar untuk menjalankan fungsi Lambda dan meneruskan output asli melalui respons integrasi tanpa pemetaan.

Untuk menguji GET metode
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk Path, lakukan hal berikut:

    1. Untuk operand1, masukkan. 1

    2. Untuk operand2, masukkan. 1

    3. Untuk operator, masukkan+.

  3. Pilih Uji.

  4. Hasilnya akan terlihat seperti ini:

    Uji GET metode di konsol API Gateway.

Selanjutnya, Anda memodelkan struktur data payload respons metode setelah result skema.

Secara default, badan respons metode diberi model kosong. Ini akan menyebabkan badan respons integrasi dilewatkan tanpa pemetaan. Namun, ketika Anda membuat SDK untuk salah satu bahasa tipe kuat, seperti Java atau Objective-C, SDK pengguna Anda akan menerima objek kosong sebagai hasilnya. Untuk memastikan bahwa REST klien dan SDK klien menerima hasil yang diinginkan, Anda harus memodelkan data respons menggunakan skema yang telah ditentukan. Di sini Anda akan mendefinisikan model untuk badan respons metode dan untuk membuat template pemetaan untuk menerjemahkan badan respons integrasi ke dalam badan respons metode.

Untuk membuat respons metode
  1. Pada tab Respons Metode, di bawah Respons 200, pilih Edit.

  2. Di bawah Badan respons, pilih Tambahkan model.

  3. Untuk jenis Konten, masukkanapplication/json.

  4. Untuk Model, pilih hasil.

  5. Pilih Simpan.

Mengatur model untuk badan respons metode memastikan bahwa data respons akan dilemparkan ke result objek yang diberikanSDK. Untuk memastikan bahwa data respons integrasi dipetakan sesuai, Anda memerlukan template pemetaan.

Untuk membuat template pemetaan
  1. Pada tab Respons integrasi, di bawah Default - Respons, pilih Edit.

  2. Pilih template Pemetaan.

  3. Untuk jenis Konten, masukkanapplication/json.

  4. Untuk badan Template, masukkan kode berikut:

    #set($inputRoot = $input.path('$')) { "input" : { "a" : $inputRoot.a, "b" : $inputRoot.b, "op" : "$inputRoot.op" }, "output" : { "c" : $inputRoot.c } }
  5. Pilih Simpan.

Untuk menguji template pemetaan
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk Path, lakukan hal berikut:

    1. Untuk operand1, masukkan. 1

    2. Untuk operand2, masukkan. 2

    3. Untuk operator, masukkan+.

  3. Pilih Uji.

  4. Hasilnya akan terlihat seperti berikut:

    { "input": { "a": 1, "b": 2, "op": "+" }, "output": { "c": 3 } }

Pada titik ini, Anda hanya dapat memanggil API menggunakan fitur Uji di konsol API Gateway. Untuk membuatnya tersedia bagi klien, Anda harus menyebarkan. API Selalu pastikan untuk menerapkan ulang API setiap kali Anda menambahkan, memodifikasi, atau menghapus sumber daya atau metode, memperbarui pemetaan data, atau memperbarui pengaturan tahap. Jika tidak, fitur atau pembaruan baru tidak akan tersedia untuk klien API Anda. sebagai berikut:

Untuk menyebarkan API
  1. Pilih DeployAPI.

  2. Untuk Stage, pilih New stage.

  3. Untuk nama Panggung, masukkanProd.

  4. (Opsional) Untuk Deskripsi, masukkan deskripsi.

  5. Pilih Deploy.

  6. (Opsional) Di bawah detail Tahap, untuk Invoke URL, Anda dapat memilih ikon salin untuk menyalin panggilan AndaAPI. URL Anda dapat menggunakan ini dengan alat-alat seperti Postman dan c URL untuk menguji AndaAPI.

catatan

Selalu gunakan ulang API setiap kali Anda menambahkan, memodifikasi, atau menghapus sumber daya atau metode, memperbarui pemetaan data, atau memperbarui pengaturan tahap. Jika tidak, fitur atau pembaruan baru tidak akan tersedia untuk klien AndaAPI.