JAX-RS (FILTERS)

         Bu yazımızda filter konusuna değineceğiz.Biz filter'ları gelen request ve giden response mesajlarını kaynak sınıfımıza erişmeden önce kontrol etmek için yazarız.Örnek verecek olursak login sayfamız için bir filter yazarsak gelen request mesajlarını kontrol ettirip bu sonuca göre kaynak sınıflarımıza erişim izni verebiliriz.Bu yazımızda basit olarak gelen her isteği kapsayan bir filter'ı nasıl yazacağımıza bakalım.Yazacağımız filter bir logfilter olup request ve response mesajları payara yerel sunucumuzda log'lanacak.Bir filter yazabilmemiz için ConteinerRequestFilter ve ConteinerResponseFilter interface'lerinden birini veya ikisini implement etmemiz gerekiyor.Şimdi bir kaynak sınıfı ve bir filter sınıfı yazarak konumuzu pekiştirelim.



Kaynak sınıfımız gördüğünüz gibi.Gelen her istek için kullanıcıya gösterilecek mesaj sabit (dummy-response for) olacak.Şimdide gelen mesajları inceleyebilmek için bir filter yazalım.Bu istekler yazdığımız filter'a takılacak ve sunucumuzda log'lanacak.Şimdilik yapılan isteklerde kaynaklarımıza erişim sağlanabiliyor.Bir sonraki yazımızda ise filter'ımızı geçemeyen istekler belirtilen kaynaklara erişemeyecek.



Gördüğünüz üzere request mesajlarımız için ContainerRequestFilter ve response mesajlarımız için de ContainerResponseFilter interface'lerini implement ettik.Bu interface'lerimizde bulunan filter fonksiyonlarını override ettik.Daha sonra bir log fonksiyonu yazarak  server'ımızda görüntülenecek request ve response mesajlarımızın bazı kısımlarını getirdik.Şimdi tarayıcımızdaki ve sunucumuzdaki çıktılar bakalım.



Şimdide oluşacak bir IOException da,log'umuzda tutulacak kayıt'a bakalım.Girilen % karakterinin oluşturduğu bir exceptionda payara serverımızda aşağıdaki şekilde loglanmış.




Umarım faydalı olmuştur.




Hiç yorum yok:

Yorum Gönder

Spring Boot Uygulamasını Heroku üzerinde Deploy Etme

Bu yazımızda sizlere spring boot ile yazılmış basit bir Rest api'nin heroku üzerinde nasıl deploy edebileceğimizi göstereceğim. Önce ...