JAX-RS (REQUEST & RESPONSE HEADERS)

     Herkese merhaba.Bu yazımızda http request ve response mesaj başlıkları üzerinde çalışcağız.Çeşitli kod örnekleri ile paketlerimizin yapısını iyice araştıracağız.Kodlarımızı parça parça yazıp yavaş yavaş anlayarak incelemeye çalışacağız.İşe httpheaders kullanarak tüm başlık mesajlarını çekerek başlayalım.Burada @Context ek açıklamasını kullanacağız.Şimdi de kodlarımıza bakıp,ayrıntılı bir şekilde inceleyelim.


  
@Context ve HttpHeaders kullanarak request mesajımızın başlık bilgilerini görüntüledik.Bunu yaparken key & value mantığında çalışan bir MultivaluedMap tanımladık.Daha sonra bu gelen başlık mesajlarını içine depoladık.Şimdide String str kısmına geldik.Sadece bir satır kodda javanın içinde kaybolup gidebileceğiniz kod parçalarından.Belki de üniversitemizde daha çok oop mantığı öğretildiği için java'nın stream api'sine bakacak fırsat bulamamışdır.Neyse bilmemek değil öğrenmemek ayıptır deyip yolumuza devam edelim :).Bu kod satırımızı sondan başlayarak inceleyelim.Collect tür dönüşümü yapan bir fonksiyon.Burada map bize Stream<> tipinde geri dönüş yapıyor ve bu değeri bir string atmaya çalıştığımız için bu dönüşüm yapılmış.Yani anlayacağınız kod'un sonuna +"" eklemekte bir çözüm.Map ise dönüşüm yapan bir fonksiyon,içerisinde ise lambda expressions kullandık.Lambda expression'ı geriye değer döndüren kod satırı diye düşünübilirsiniz.Bir fonksiyon değil fakat belli parametreler alıp o parametreler ile ilgili değer döndürüyor.Burada aldığı e parametresinin key ve value'sunu döndürüyor.Lambda expression kullanırken bunun 1.8 ve sonrasıdaki source formatında geçerli olduğunu söyleyebilir.Bunu düzeltmek için projenizin properties sekmesinden sources'a gidin ve oradaki source format değerini 1.8 veya daha üstünde bir değere ayarlayın.Stream'e gelecek olursak map stream'in bir işlemi.Stream Api yığınsal veriler üzerinde daha kolay çalışabilmemiz için geliştirilmiş.Collection,diziler vb. gibi.Map gibi kullanabileceğimiz diğer işlemleri burada gördüğünüz siteden alıntı yaparak bir fotoğraf kullanmak istiyorum.Fotoğrafı şimdilik yükleceğim.Kaynakta belirttik.Linkedin üzerinden de yazı sahibinden izin alacağım.İzin vermezse hemen kaldırırız.Yazılarımda alıntı yaptığım yerlerin kaynaklarını belirtmeye çalışırım.Etik olanda bu zaten.Adam o kadar yazmış etmiş,neymiş kopyala yapıştır sonrada ben yaptım :).Öyle olmaz arkadaşlar kimsenin hakkını yemeyelim.Bu arada kodlarımızın buradan olduğunu neredeyse her yazımda belirtmeye çalıştım.Allah var çok iyi örneklendirmiş.Neyse devam edelim.

ve map'teki key & value'ler ile işlem yapabilmemiz için entrySet().Dediğimiz gibi daha sonra da stream ve ilgili metod.Tersten başlayarak değişik bir yorum kattığımı düşünüyorum.Değişik çözümler üreterek daha akılda kalıcı şekilde öğrenmeye ve öğretmeye çalışıyorum.Test2 ile devam edelim.







Bu sefer bir map'e ihtiyaç duymadığımız için bir list kullanarak (Locale sınıf değikenleri) belirli verileri çektik.Test3'e bakalım.


Burada da @HeaderParam ile getirdik.

Önemli yerlere değindiğimizi düşünüyorum.Burada daha çok örnek mevcut.

İYİ ÇALIŞMALAR...




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 ...