Plugin Transformer secara otomatis menerapkan perubahan yang ingin Anda buat pada permintaan dan respons HTTP, seperti parameter dalam bagian Header, Query, dan Form dari permintaan serta kode status dan parameter Header dalam respons.
1. Ikhtisar
Plugin Transformer memungkinkan Anda mengonfigurasi kebijakan modifikasi parameter, seperti jenis modifikasi dan parameter yang akan dimodifikasi. Plugin ini kemudian secara otomatis memodifikasi permintaan dan respons HTTP berdasarkan kebijakan yang telah dikonfigurasi.
Jenis modifikasi berikut didukung untuk permintaan HTTP:
addRequestParameterIfAbsent: Menambahkan parameter permintaan jika belum ada. Jika parameter sudah ada, parameter tersebut tidak diubah. Anda harus menentukan lokasi, nama, dan nilai parameter yang ingin ditambahkan.putRequestParameter: Menambahkan parameter permintaan. Jika parameter sudah ada, parameter baru akan menggantikan yang asli. Anda harus menentukan lokasi, nama, dan nilai parameter yang ingin ditambahkan.removeRequestParameter: Menghapus parameter permintaan. Anda harus menentukan lokasi dan nama parameter yang ingin dihapus.
Jenis modifikasi berikut didukung untuk respons HTTP:
setResponseStatusCode: Mengatur kode status respons. Kode status ini akan menggantikan kode status yang dikembalikan oleh layanan backend.addResponseHeaderIfAbsent: Menambahkan parameter ke header jika belum ada. Jika parameter sudah ada, parameter tersebut tidak diubah. Anda harus menentukan nama dan nilai parameter.putResponseHeader: Menambahkan parameter ke header. Jika parameter sudah ada, parameter baru akan menggantikan yang asli. Anda harus menentukan nama dan nilai parameter.removeResponseHeader: Menghapus parameter dari header. Anda harus menentukan nama parameter.
Anda dapat menentukan Header, Query, atau Form sebagai lokasi parameter yang ingin ditambahkan atau dihapus untuk sebuah permintaan.
Sebelum meneruskan permintaan ke layanan backend, API Gateway menjalankan kebijakan yang dikonfigurasi dalam plugin transformer untuk memodifikasi parameter dalam permintaan. Jika parameter permintaan perlu dipetakan, kebijakan diterapkan setelah pemetaan parameter. Sebelum meneruskan respons ke klien, API Gateway menjalankan kebijakan yang dikonfigurasi dalam plugin transformer untuk memodifikasi parameter dalam respons. Jika kode kesalahan perlu dipetakan, kebijakan diterapkan setelah pemetaan kode kesalahan.
2. Contoh konfigurasi
Anda dapat mengonfigurasi plugin transformer dalam format JSON atau YAML. Kedua format memiliki skema yang sama dan dapat dikonversi satu sama lain menggunakan alat konversi. Kode berikut memberikan template dalam format YAML:
---
addRequestParameterIfAbsent: # Menambahkan parameter ke permintaan. Jika parameter sudah ada, parameter tersebut tidak dimodifikasi.
- name: userId # Nama parameter.
value: 123456 # Nilai parameter.
location: query # Lokasi parameter.
putRequestParameter: # Menambahkan parameter ke permintaan. Jika parameter sudah ada, parameter baru menimpa yang asli.
- name: name
value: Jack
location: header
removeRequestParameter: # Menghapus parameter dari permintaan.
- name: address
location: form
setResponseStatusCode: 200 # Mengatur kode status untuk respons.
addResponseHeaderIfAbsent: # Menambahkan parameter ke header. Jika parameter sudah ada, parameter tersebut tidak dimodifikasi.
- name: age
value: 18
putResponseHeader: # Menambahkan parameter ke header. Jika parameter sudah ada, parameter baru menimpa yang asli.
- name: name
value: Alice
removeResponseHeader: # Menghapus parameter dari header.
- name: phoneContoh penggunaan addRequestParameterIfAbsent dan putResponseHeader:
addRequestParameterIfAbsent: Jika permintaan tidak berisi parameter userId dalam bagian Query, API Gateway menambahkan parameter tersebut dengan nilai 123456. Jika parameter userId sudah ada, API Gateway tidak memodifikasinya.
putResponseHeader: API Gateway menambahkan parameter age dengan nilai 18 ke header respons. Jika parameter tersebut sudah ada, API Gateway mengubah nilainya menjadi 18.
3. Batasan
Plugin Transformer hanya tersedia untuk instance khusus.
Jika plugin Transformer tidak berfungsi di instance khusus Anda yang dibeli sebelum 02 April 2024, ajukan Tiket untuk meningkatkan instance Anda.