Tanggapan Gateway untuk REST APIs 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.

Tanggapan Gateway untuk REST APIs di API Gateway

Respons gateway diidentifikasi oleh jenis respons yang ditentukan oleh API Gateway. Respons terdiri dari kode HTTP status, satu set header tambahan yang ditentukan oleh pemetaan parameter, dan payload yang dihasilkan oleh template non-pemetaan. VTL

Di API Gateway RESTAPI, respons gateway diwakili oleh GatewayResponse. Di OpenAPI, sebuah GatewayResponse instance dijelaskan oleh x-amazon-apigateway-gateway-response. gatewayResponseekstensi.

Untuk mengaktifkan respons gateway, Anda menyiapkan respons gateway untuk jenis respons yang didukung di API tingkat tersebut. Setiap kali API Gateway mengembalikan respons jenis ini, pemetaan header dan templat pemetaan muatan yang ditentukan dalam respons gateway diterapkan untuk mengembalikan hasil yang dipetakan ke pemanggil. API

Di bagian berikut, kami menunjukkan cara mengatur respons gateway dengan menggunakan konsol API Gateway dan API Gateway RESTAPI.

Menyiapkan respons gateway untuk menyesuaikan respons kesalahan

Jika API Gateway gagal memproses permintaan yang masuk, Gateway mengembalikan respons kesalahan ke klien tanpa meneruskan permintaan ke backend integrasi. Secara default, respons kesalahan berisi pesan kesalahan deskriptif singkat. Misalnya, jika Anda mencoba memanggil operasi pada API sumber daya yang tidak ditentukan, Anda menerima respons kesalahan dengan { "message": "Missing Authentication Token" } pesan tersebut. Jika Anda baru mengenal API Gateway, Anda mungkin merasa sulit untuk memahami apa yang sebenarnya salah.

Untuk beberapa respons kesalahan, API Gateway memungkinkan penyesuaian oleh API pengembang untuk mengembalikan respons dalam format yang berbeda. Missing Authentication TokenMisalnya, Anda dapat menambahkan petunjuk ke payload respons asli dengan kemungkinan penyebabnya, seperti dalam contoh ini:. {"message":"Missing Authentication Token", "hint":"The HTTP method or resources may not be supported."}

Saat API memediasi antara pertukaran eksternal dan AWS Cloud, Anda menggunakan templat VTL pemetaan untuk permintaan integrasi atau respons integrasi untuk memetakan muatan dari satu format ke format lainnya. Namun, templat VTL pemetaan hanya berfungsi untuk permintaan yang valid dengan respons yang berhasil.

Untuk permintaan yang tidak valid, API Gateway melewati integrasi sama sekali dan mengembalikan respons kesalahan. Anda harus menggunakan kustomisasi untuk membuat respons kesalahan dalam format yang sesuai dengan pertukaran. Di sini, kustomisasi diberikan dalam template VTL non-pemetaan yang hanya mendukung substitusi variabel sederhana.

Menggeneralisasi respons kesalahan yang API dihasilkan Gateway terhadap respons apa pun yang dihasilkan oleh API Gateway, kami menyebutnya sebagai respons gateway. Ini membedakan respons yang API dihasilkan Gateway dari respons integrasi. Template pemetaan respons gateway dapat mengakses nilai $context variabel dan nilai $stageVariables properti, serta parameter permintaan metode, dalam bentuk. method.request.param-position.param-name

Untuk informasi lebih lanjut tentang $context variabel, lihat$contextVariabel untuk model data, otorisasi, templat pemetaan, dan CloudWatch pencatatan akses. Untuk informasi selengkapnya tentang $stageVariables, lihat $stageVariables. Untuk informasi selengkapnya tentang parameter permintaan metode, lihat$inputVariabel.