Spring’de @RequestParam Annotation

sametklou

Spring’de @RequestParam Annotation

Spring framework'ünün web uygulamalarında kullanılan en önemli annotation'lardan biri olan @RequestParam, HTTP istekleri üzerinden gelen parametreleri almak ve bu parametreleri kullanmak için kullanılır. @RequestParam annotation'ı, request parametrelerini almak için kullanılan en yaygın annotationlardan biridir.

@ RequestParam annotation'ı, metoda gönderilen parametrelerin adı ve değerine bakarak, belirtilen parametreyi metoda bağlar. Bu sayede, metot parametrelerine direkt olarak parametre değerlerini atamaya gerek kalmaz.

Örneğin, bir GET isteğiyle gönderilen query parametrelerini almak için @RequestParam annotation'ı kullanabiliriz. Aşağıda basit bir Spring Controller sınıfı örneği verilmiştir:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ExampleController {

    @GetMapping("/example")
    public String getExample(@RequestParam String param1, @RequestParam int param2) {
        return "Parametre 1: " + param1 + ", Parametre 2: " + param2;
    }
}

Yukarıdaki örnekte, "/example" endpoint'ine yapılan bir GET isteğinde "param1" ve "param2" adında query parametreleri alınmaktadır. Bu parametreler, ilgili metoda @RequestParam annotation'ı ile direk olarak atama işlemi yapılmıştır.

Ayrıca @RequestParam annotation'ı ile aşağıdaki özellikler de belirtilebilir:

  • value: Parametrenin adını belirtir. Örneğin "@RequestParam(value = "param1")"
  • required: Parametrenin zorunlu olup olmadığını belirtir. Varsayılan değeri true'dur.
  • defaultValue: Parametrenin varsayılan değerini belirler. Örneğin "@RequestParam(value = "param1", defaultValue = "defaultDeğer")"

Bu şekilde, @RequestParam annotation'ı sayesinde, Spring framework'üne gelen HTTP isteğindeki parametreleri kolayca alabilir ve kullanabiliriz. Bu sayede, web uygulamalarında request parametrelerini yönetmek oldukça kolaylaşmaktadır.