Membangun API dengan Amazon API Gateway

Mendeploy Aplikasi di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Tiga klien, satu backend

  • Web, seluler, dan mitra memanggil satu backend
  • Masing-masing memakai format agak berbeda
  • Pintu depan memvalidasi dan mentransformasi tiap pemanggil

 

Tiga jenis klien terhubung melalui satu API Gateway yang merutekan permintaan ke layanan backend

Mendeploy Aplikasi di AWS

Fungsi API Gateway

API Gateway sebagai pintu depan terkelola: klien web dan seluler dirutekan lewat gateway pusat dengan fitur perutean, auth, throttling, dan transformasi ke Lambda, endpoint HTTP, dan layanan AWS

  • Pintu depan terkelola penuh untuk API Anda
  • Menangani perutean, auth, throttling, dan transformasi
  • Di antara klien dan backend Anda
  • Backend: Lambda, endpoint HTTP, atau layanan AWS
Mendeploy Aplikasi di AWS

Jenis integrasi

  • Lambda proxy: meneruskan seluruh permintaan ke Lambda
  • Lambda non-proxy: Anda memetakan field permintaan dan respons
  • HTTP: meneruskan ke backend HTTP
  • MOCK: mengembalikan respons tanpa backend

Empat jenis integrasi API Gateway: Lambda proxy meneruskan permintaan penuh, Lambda non-proxy memakai mapping template, HTTP meneruskan ke endpoint, dan MOCK mengembalikan respons statis

Mendeploy Aplikasi di AWS

Transformasi request dan response

  • Mapping templates membentuk ulang payload dengan VTL
  • Velocity Template Language mentransformasi body, header, parameter
  • Request mapping: format klien ke format backend
  • Response mapping: format backend ke format klien

Alur mapping template VTL: payload klien diubah oleh template permintaan sebelum ke backend, lalu respons backend diubah oleh template respons sebelum kembali ke klien

Mendeploy Aplikasi di AWS

Validasi permintaan

Mode validasi permintaan: validasi body terhadap skema JSON, validasi parameter kueri dan header yang wajib, atau validasi keduanya sebelum backend Lambda dipanggil

  • Tolak input buruk sebelum mencapai backend
  • Parameter wajib: header, query string, path
  • Model schema: validasi bentuk body JSON
  • Validasi body, parameter, atau keduanya
Mendeploy Aplikasi di AWS

Kode status dan kontrak error

  • Timpa kode status backend untuk kontrak yang konsisten
  • Petakan backend 502 ke 503 yang rapi bagi klien
  • Gateway responses: sesuaikan body error
  • Klien mendapat error yang dapat diprediksi terlepas dari backend

Siklus hidup permintaan API Gateway: validasi menolak input buruk di gerbang, mapping template membentuk ulang input valid untuk backend, template respons memformat keluaran jadi kontrak klien yang konsisten

Mendeploy Aplikasi di AWS

Menggabungkannya

  • Permintaan klien → validasi → transformasi → backend
  • Input buruk ditolak di gerbang
  • Input baik dibentuk ulang untuk backend
  • Respons backend dibentuk ulang jadi kontrak klien

Siklus hidup permintaan API Gateway: validasi menolak input buruk di gerbang, mapping template membentuk ulang input valid untuk backend, template respons memformat keluaran jadi kontrak klien yang konsisten

Mendeploy Aplikasi di AWS

Ayo berlatih!

Mendeploy Aplikasi di AWS

Preparing Video For Download...