Oluşturulan Mock API Üzerinden JSON Transformation ve Script Poliçesinin Uygulanması
Bu senaryoda Apinizer üzerinde oluşturulan Mock API'ye JSON Transformation ve Script poliçesinin uygulanması test edilecektir.
Aşağıdaki grafikte yer alan numaralandırmalar işlemlerin yapılış sırasına aittir.
- API Client, Apinizer'a istekte bulunur.
- Apinizer, Cars Mock API'ye istekte bulunur.
- Cars Mock API'den dönen yanıt içerisinde yer alan tip, yıl, fiyat key'leri JSON Transformation poliçesi uygulanarak type, year, price key ifadelerine dönüştürülür ve Apinizer'a iletilir.
- Script poliçesinin çalışması ise opsiyoneldir. Çünkü bu poliçe API Client'dan gelen istek içerisinde herhangi bir Order By parametresi varsa çalışmaktadır.
- Apinizer'dan API Client'a yanıt verilir.
Mock API'nin Oluşturulması
İlk olarak araç listesini döndüren Mock API'yi oluşturun. Tüm ayrıntılar için API Creator ile Mock API oluşturma sayfasına bakın.
Geliştirme menüsü altındaki API Oluşturucu menüsünde Mock API seçeneğini seçin.
Hiç Mock API yoksa sayfada Mock API yok. iletisi görünür.
- Sağ üst köşedeki + Yeni düğmesine tıklayın. Yeni Mock API sihirbazı açılır.
- Kaynak adımında Boş başlat seçeneğini seçin. Devam et düğmesine tıklayın.
- Ayrıntılar adımında Mock API'nin Ad ve Açıklama alanlarını doldurun. Devam et düğmesine tıklayın.
- Gözden geçirme adımında Mock API oluştur düğmesine tıklayın. Apinizer Mock API'yi oluşturur ve düzenleyiciyi açar.
Düzenleyicinin sol sütunu Mock API'yi ve API Uç Noktaları listesini gösterir. Orta bölüm seçili uç noktayı ve yanıtlarını gösterir.
Bu senaryoda "GET" türünde "/getCarList" adlı uç nokta üzerinden testler gerçekleştirilecektir.
Uç noktayı ve yanıtını ekleyin:
- API Uç Noktaları başlığının yanındaki + düğmesine tıklayın. Yapılandırma paneli açılır.
- HTTP Metot olarak GET seçin. Yol alanına /getCarList yazın. Kaydet düğmesine tıklayın. Apinizer uç noktayı tek bir 200 OK yanıtıyla ekler.
- Yanıtlar kartında + Örnek düğmesine tıklayın. Örnek penceresi application/json medya tipiyle açılır.
- Yanıt Gövdesi alanına bir araç listesi yazın. Her araçta "tip", "yil" ve "fiyat" anahtarları bulunur. Koşullar alanını boş bırakın.
- Kaydet düğmesine tıklayın.
Yanıt başlıkları ve koşullar gibi diğer seçenekler için Yanıt Ekleme ya da Düzenleme bölümüne bakın.
Mock API'den API Proxy Oluşturulması
- Düzenleyicinin üstündeki API Proxy Oluştur düğmesine tıklayın. API Proxy Oluştur penceresi açılır.
- Uygun bir Göreli Yollar değeri girin. Gerekirse Kategori Listesi alanına bir kategori girin.
- Yüklenecek ortamlar alanında API Proxy'yi yüklemek istediğiniz ortamı işaretleyin.
- Oluştur ve yükle düğmesine tıklayın. Apinizer API Proxy'yi oluşturur ve işaretli ortama yükler.
Ayrıntılar için Mock API'den API Proxy Oluşturma bölümüne bakın.
Develop menüsü altında yer alan /getCarList endpoint'i seçilir ve Test Endpoint butonuna tıklanır.
İlk olarak gerçekleştirilecek testte hiçbir şekilde poliçe uygulaması yapılmayacaktır.
URL alanı içerisinde bulunan adrese istekte bulunulduğunda yanıt olarak Response alanı içerisinde yer alan JSON verisi görülmektedir.
Dönen yanıt incelenecek olunursa eğer içerisinde "tip", "yil" ve "fiyat" key ifadeleri bulunan bir liste dönmektedir.
JSON Transformation Poliçesinin Eklenmesi
Senaryoda yer alan key ifadelerinin değişmesini sağlamak için bir poliçe eklenmesi gereklidir.
Bu poliçede API'den Client'a yanıt olarak gidecek olan alan içerisinde yer alacaktır.
Aşağıdaki görselde görülen alanda yer alan Add Policy ifadesine tıklanır.
Açılan ekranda aşağıdaki görselde de işaretlenmiş olan JSON Transformation poliçesi seçilir.
Bu ekran üzerinde yer alan ifadeler incelenecek olursa;
- Description alanı ile kullanılacak olan poliçeye açıklama eklenebilir.
- Configuration - Enter the policy configurations alanı ile de değiştirilecek mesaj için gerekli olan Jolt Değeri yazılır.
- Test Jolt ifadesi ile de yazılan konfigürasyon test edilir.
- Oluşturulan poliçe Save butonuna tıklanarak kaydedilir.
- Yapılan değişikliklerin geçerli olması için Redeploy butonuna tıklanır.
- Seçili olan endpoint'in test edilmesine geçilir.
Aşağıdaki görselde de görüldüğü üzere, belirtilen endpoint'e istekte bulunulduğunda Mock API'den dönmekte olan yanıttaki key ifadelerinin değiştiği görülmektedir.
Script Poliçesinin Eklenmesi
Sırada ise istemciden gönderilecek "Order By" parametre değerine göre sıralama yapacak olan script'in çalıştırılması vardır.
Bunun için Mock API'den istemciye gönderilen yanıtın bulunduğu alana Script poliçesinin eklenmesi gereklidir.
Add Policy ifadesine tıklanır ve buradan Script poliçesi seçilir.
Bu ekran üzerinde yer alan ifadeler tek tek incelenecek olursa,
- Script Language alanı ile oluşturulacak olan Script'in hangi programlama dili ile yazılacağı seçilir.
- Script Body alanı içerisinde hem script yazılacak alan hem de script yazarken kullanımı kolaylaştıran hazır fonksiyonlar bulunmaktadır.
- Bu senaryoda ResponseBodyTextToClient isimli fonksiyon kullanılacaktır.
- Diğer hazır fonksiyonlar hakkında bilgi almak için buradaki linke tıklayabilirsiniz.
- Kullanılacak olan script yazıldıktan sonra ise Save butonuna tıklanır ve poliçe kaydedilir.
Proxy üzerinde son yapılan eklemelerin ardından Redeploy edilir.
İlk olarak JSON Transformation poliçesinin çalıştırılıp daha sonra Script poliçesinin çalıştırılması gereklidir.
Bunun için JSON Transformation poliçesine ait ikonun sona alınması gereklidir. Oluşturulmak istenen kullanım aşağıdaki görselde yer almaktadır.
API Proxy'nin Test Edilmesi
Test Endpoint ifadesine tıklanır.
İlk testte mock API'ye hiçbir query parametresi gönderilmez ve "Response" alanı içerisinde yer alan cevap elde edilir.
Daha sonra ise order=year query parametresi eklenerek alınacak olan yanıtın yıla göre sıralanması sağlanır.
Son olarak order=price query parametresi eklenerek alınacak olan yanıtın yıla göre sıralanması sağlanır.
