All Products
Search
Document Center

API Gateway:Custom-response

Last Updated:Sep 10, 2026

Plug-in custom-response mengembalikan kode status HTTP, header, dan badan respons yang dikustomisasi. Anda dapat menggunakannya untuk membuat respons tiruan (mock response) atau mengganti respons untuk kode status tertentu, seperti mengembalikan pesan kustom saat kebijakan throttling dipicu.

Jenis plug-in

Plug-in ini terkait dengan protokol transmisi.

Bidang

Bidang

Tipe data

Wajib

Nilai default

Deskripsi

status_code

number

Tidak

200

Kode status HTTP kustom.

headers

array of string

Tidak

-

Header respons HTTP kustom. Pisahkan setiap pasangan kunci-nilai dengan =.

body

string

Tidak

-

Badan respons HTTP kustom.

enable_on_status

array of number

Tidak

-

Kode status HTTP yang memicu respons kustom. Jika Anda biarkan bidang ini kosong, respons kustom berlaku untuk semua permintaan tanpa memperhatikan kode status aslinya.

Contoh

Mengembalikan respons kustom dalam skenario mock response

status_code: 200
headers:
- Content-Type=application/json
- Hello=World
body: "{\"hello\":\"world\"}"

Konfigurasi ini mengembalikan respons berikut:

HTTP/1.1 200 OK
Content-Type: application/json
Hello: World
Content-Length: 17

{"hello":"world"}

Mengembalikan respons kustom saat throttling dipicu

enable_on_status: 
- 429
status_code: 302
headers:
- Location=https://example.com

Throttling biasanya mengembalikan kode status HTTP 429. Dengan konfigurasi ini, gerbang mengembalikan respons kustom berikut sebagai gantinya:

HTTP/1.1 302 Found
Location: https://example.com

Hal ini mengarahkan ulang permintaan yang dibatasi ke halaman lain, seperti halaman statis pada CDN.

Untuk mengembalikan kode status lain saat throttling dipicu, konfigurasikan bidang-bidang tersebut sebagaimana dijelaskan dalam bagian “Mengembalikan respons kustom dalam skenario mock response”.

Memblokir permintaan untuk entri rute atau nama domain tertentu

Terapkan konfigurasi plug-in berikut ke entri rute route-a dan route-b:

body: "{\"hello\":\"world\"}"

Terapkan konfigurasi plug-in berikut ke nama domain *.example.com dan test.com:

  enable_on_status: 
  - 429
  status_code: 200
  headers:
  - Content-Type=application/json
  body: "{\"errmsg\": \"rate limited\"}"
Catatan
  • route-a dan route-b adalah entri rute yang ditentukan saat entri rute gerbang dibuat. Jika suatu permintaan sesuai dengan entri rute, aturan yang dikonfigurasi untuk entri rute tersebut akan diterapkan.

  • *.example.com dan test.com sesuai dengan nama domain dalam permintaan. Jika suatu permintaan sesuai dengan nama domain, aturan yang dikonfigurasi untuk nama domain tersebut akan diterapkan.

  • Aturan diterapkan secara berurutan. Setelah suatu aturan cocok, aturan berikutnya dilewati.