Wep Api ile RequestHeader okuma

Requestler header, method, content  vs birden çok bilgi içeriyorlar (Http Request).

Peki headerdaki bir değere, Web api metodunda nasıl kullanışlı bir biçimde erişebiliriz.

İlk akla gelen Request objesi üzerinden headers a ulaşmak , şöyle ki :

her erişmek istediğimizde bu kodu yazmak yerine ihtiyaç olan yerlere HttpParameterBinding kullanarak erişmek, parametre için type  (int, string vs) casting işlemlerini merkezi bir şekilde yönetmek için web api nin nimetlerinden yararlanırsak:

 

Parametrelerde binding yapabilmek için ParameterBindingAttribue kullanırız.

Bu attribute kullanırken constructor da belirtildiği gibi requestHeader da hangi isimde parametre geleceğini söylememiz gerekiyor.

Örnek :

Eğer sıkça kullanmamız gereken ya da string olarak header name belirttiğimiz için yanlış yazma durumu oluşmamasını istediğimizde ise FromHeaderAttribute’den miras alarak özelleşmiş tipleri yapabiliriz.

Örnek :

Yukardaki LanguageHeaderAttribute sınıfı “Language” isminde request header değeri arayacak ve onun ilk değerini (string listesi olarak geldiği için ilkini almıştık) metod parametrelerinden belirtilene binding yapacaktır.

Örnek :

Metod içerisinde lang değerinin headerdan okunup getirildiğini uygulamanızda görebilirsiniz.

 

 

Said

1 comment

  1. Elizabeth Britton   •  

    I was researching content for our social media strategy and came across your fantastic blog. I just wanted to reach out and make an introduction. My name is Elizabeth Britton, and I’m a Marketing Coordinator with Syncfusion. Your blog posts reflect your great knowledge of the .NET world. Please let me know if you would like to be a guest blogger and review our products for free. I look forward to hearing from you. In the meantime, keep up the great work on your blog!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir