Spring MVC -@RequestParam ve @PathVariable Anotasyonları
Spring MVC projelerinde kullanılan en önemli anotasyonlardan ikisi @RequestParam ve @PathVariable dır.
Her ikiside url de gönderilecek olan parametreleri elde etmemizi sağlar,fakat kullanımları farklıdır.Farklarını anlamak için en güzeli url örnekleri vermek olacaktır.Test senaryosu olarakta e-ticaret sitemizdeki “cartId” bilgisini elde etmek olsun;
@RequestParam:
http://<hosturl>/cartinfo/?cartId=140
Linkteki cartId değerini @RequestParam anotasyonuyla elde edebilmek için yazmanız gereken spring java kodu:
Browser’ı çalıştırdığımızda ekrandaki görüntüyü elde etmiş oluruz;
@PathVariable:
Aynı örneği şimdi de @PathVariable anotasyonu ile yapalım.
http://<hosturl>/cartinfo/{cartId}
{cartId} değeri url deki 140 değerini temsil eden parametre olmakta;
Ekranda alacağımız sonuç aşağıdaki şekilde olacaktır;
Önemli Not: @Controller ve @ResponseBody anotasyonlarını birlikte kullanmak yerine sadece @RestController’ı kullanabilirsiniz.Alacağınız sonuç değişmeyecektir.Kodunuzu aşağıdaki şekilde güncellemeniz yeterli olacaktır;