AWS Lambda API Gateway Nedir?
AWS API Gateway, Amazon Web Services'in sunduğu tamamen yönetilen bir API oluşturma ve yönetme servisidir.
Serverless mimariyle çalışan uygulamalarda en çok kullanılan servislerden biridir çünkü Lambda fonksiyonlarını internete açmak için bir “kapı” görevi görür.
Serverless Framework ile oluşturduğumuz endpoint’ler aslında API Gateway üzerinden çalışıyor.
Kullanıcı → API Gateway → Lambda → Database → Response
Yani lambda fonksiyonlarımızı api gateway ile internete açıyoruz. API gateway, ölçeklenebilirlik, güvenlik, performansıda otomatik olarak sağlar.
API Gateway, standart HTTP metodolojisini destekler. GET, POST, PUT, DELETE metotlarını kullanabiliriz.

Lambda fonksiyonları her zaman bir event alır.
Event içinde:
-
body
-
headers
-
path
-
httpMethod
-
queryStringParameters
gibi bilgiler bulunur.
API Gateway ile gelen HTTP body’si string formatındadır, bu yüzden JSON.parse ile JS obje haline getiriyoruz.

Yml dosyamızda fonksiyonumuzu tanımladık ve hangi route’a gideceğini, hangi metodu kullanacağını verdik.
Şimdi deploy edeceğiz ve tam deploy yapmamız gerekiyor single function deploy olmaz. Çünkü konfigürasyonu değiştirdik.



Bir API Gateway endpoint’ine istek gittiğinde şu akış gerçekleşir:
Client → API Gateway → Lambda → Response → API Gateway → Client
API Gateway gelen statusCode değerine göre yanıtı istemciye gönderir.
200 OK -> başarılı
201 Created -> yeni kaynak post işlemlerinde
400 Badrequest -> istek hatalı body yanlış formatta olabilir.
500 server error -> sunucu hatası
Gibi birçok response code mevcuttur zaten klasik http response kodlarıdır.