Apinizer ile Mock API Oluşturma

Neslihan Esra Altınışık
Apinizer
Published in
3 min readAug 4, 2021

Mock API, gerçek bir API’nin davranışlarını simüle etmeyi sağlar. Böylece herhangi bir yazılım geliştirme yapmadan oluşturduğumuz endpoint’e bir HTTP çağrısı yaptığımızda, önceden belirlediğimiz bir yanıt döndürülür.

Neden ihtiyaç duyulur?

Artık API tabanlı web/mobil uygulamalar geliştiriyoruz ya da farklı sistemleri uygulamamıza API/Web servisleri üzerinden entegre ediyoruz. Şimdi, en yaygın Mock API kullanım senaryosuna bir bakalım. API geliştirme görevi genel olarak Backend ekibi tarafından gerçekleştirilir ve frontend/mobil ekibi bunun üzerinden komponentlerini geliştirir. Böyle bir senaryoda iki ekibin paralel olarak çalışması beklenebilir. API’nin hangi endpointlerden oluşacağı, endpointlerdeki istek ve yanıta ait başlık (header), gövde (body), durum kodu (status code) vs. bilgilerin bulunduğu API tasarımı belli ise API mock’lanarak gerçek verilerin taklidi üzerinden frontend/mobil ekibi geliştirme yapmaya devam edebilir.

  • Böylelikle ekipler arasındaki bağımlılık azalır.
  • Hem frontend/mobil ekibi daha hızlı geliştirme yapabilir, hem de API geliştiren ekip, frontend/mobil ekibin geri bildirimlerini baz alarak canlı ortamdaki API’yi iyileştirebilir. Dolayısıyla süreç daha verimli yönetilebilir.
  • Komponentler kullanıma alınmadan önce fonksiyonel test çalışmalarına başlanabilir.
  • Farklı hata durumları istek üzerinde oluşturulup test edilebilir.
  • Ücretli API’ler mock API üzerinden test edilebilir.
  • Production ya da sandbox ortamlarına erişim gerçekleşmediğinde, API’ye bakım/güncelleme yapılması gibi senaryolarda anlık yanıtlar gönderilebilir.

O zaman biraz mocking yapalım !

Mock API Oluşturma

Apinizer, varsayılan CRUD operasyonları şablonu üzerinden ya da API Dokümantasyonu (Open API ya da Swagger) import edilerek kolaylıkla Mock API üretmenize imkan verir.

‘Blank’ tipi ile CRUD operasyonları olan bir Mock API oluşturulur. Döndürülmek istenen yanıtlara göre endpointler düzenlenebilir.
‘Import Spec’ seçeneği, API Dokümantasyonu import edilerek ya da yüklenerek Mock API oluşturmanızı sağlar.

Koşula Göre Farklı Yanıt Döndürme

Mock API geliştirirken endpoint’ler oluşturmak ve ilgili endpoint çağrıldığında istemciye gönderilmek istenen HTTP yanıtını düzenleyebilmekten bahsetmiştik. Yanıt düzenlenirken bahsedilmesi gereken diğer özellik ise; koşul(condition).

Mock API geliştirenlerin önemli bir gereksinimi de; aynı endpoint’e gelen isteklere farklı durumlara göre farklı yanıtlar dönülmesidir. Bunun için her durumu karşılayan aynı bir endpoint oluşturmak yerine koşul oluşturmak yeterlidir.

Örneğin, ‘findByStatus?status={parametre}’ endpointine çağrı yapıldığında, parametrenin değeri ‘sold’ olduğunda başka bir yanıt gövdesi, parametrenin değeri ‘available’ olduğunda başka bir yanıtın dönmesi istenebilir.

Apinizer, yanıta eklenen koşullar sayesinde, isteğin başlık, gövde ya da parametre değerleri baz alınarak koşula göre farklı yanıtlar alınmasını sağlar. Bunun için veri tabanı oluşturmaya, yazılım geliştirmeye ya da teknik bilgiye ihtiyaç yoktur.

Mock API Tanım Belgelerini (API Specification) Görüntüleme

Mock API oluşturulduğunda, Swagger ve Open API türündeki API tanım belgelerine on-the-fly olarak JSON ve YAML formatlarında erişilebilir.

Mock API’den API Proxy Oluşturma

Apinizer ile oluşturulan Mock API’nin diğer bir avantajı ise Mock API’nin API Proxy oluşturularak istemcilere sunulmasıdır.

API Proxy oluşturmanın sağladığı avantajlar; istemciden gelen/gönderilen mesaja kod yazmadan politika uygulama (CORS ayarı, Kimlik Doğrulama Politikaları, Script Politikası, İş Kuralı Politikası vs.), HTTP istek/yanıtı loglanarak API trafiğini izleme olarak özetlenebilir.

API Proxy hakkında daha detaylı bilgi almak için tıklayınız.

Apinizer’daki politikaları incelemek ve uygulamak için tıklayınız.

➳ Apinizer hakkında daha detaylı bilgi almak için tıklayınız.

➳ Apinizer ile Mock API oluşturmak ve kullanıma açmayı denemek için tıklayınız.

--

--