Tanggapan Gateway di API Gateway - Amazon API Gateway

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

Tanggapan Gateway di API Gateway

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

Di API Gateway REST API, respons gateway diwakili oleh GatewayResponse. Di OpenAPI, GatewayResponse instance dijelaskan oleh ekstensi x-amazon-apigateway-gateway-responses.gatewayResponse.

Untuk mengaktifkan respons gateway, Anda menyiapkan respons gateway untuk jenis respons yang didukung di API level. Setiap kali API Gateway menampilkan respons jenis ini, templat pemetaan header dan 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 REST API.

Menyiapkan respons gateway untuk menyesuaikan respons kesalahan

Jika API Gateway gagal memproses permintaan yang masuk, ia 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 sumber daya API 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 pengembang API untuk mengembalikan respons dalam format yang berbeda. Missing Authentication TokenMisalnya, Anda dapat menambahkan petunjuk ke muatan 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 Anda memediasi antara pertukaran eksternal dan AWS Cloud, Anda menggunakan templat pemetaan VTL untuk permintaan integrasi atau respons integrasi untuk memetakan muatan dari satu format ke format lainnya. Namun, template pemetaan VTL hanya berfungsi untuk permintaan yang valid dengan tanggapan 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 pemetaan non-VTL yang hanya mendukung substitusi variabel sederhana.

Menggeneralisasi respons kesalahan yang dihasilkan API Gateway terhadap respons apa pun yang dihasilkan oleh API Gateway, kami menyebutnya sebagai respons gateway. Ini membedakan respons yang dihasilkan API 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.