08_JAX-RS_Restful_@QueryParam_@DefaultValue_@Context

Merhaba arkadaşlar, bu yazımda @QueryParam, @Context ve @DefaultValue notasyonlarını anlatacağım.

@QueryParam

@QueryParam ile URI lere parametre geçirebiliriz yada inject edebiliriz. Örnek olarak URI şu biçimde olur:

/path?param1=value1&param2=value2&param3=value3 şeklinde olur. Şimdi örnek üzerinden konuyu anlamaya çalışalım.

Person.java

Person sınıfı bizim pojo sınıfımızdır. İd, name ve surname isimlerinde değişkenler ve bu değişkenlerin getters/setters metotları vardır.

RestService.java

Static olarak personList adında bir liste oluşturulmuş ve bu listeye nesneler eklenmiştir. getPersonWithId() metodu kullanılarak id değeri @QueryParam olarak gönderilerek gelen id ye ait person döndürülecektir. Postman kullanarak isteği gönderelim ve sonuca bakalım.

URI => http://localhost:8080/JAX-RS_Tutorial/application/queryparam/param?id=2

Görüldüğü üzeri id si 2 olan değer Json türünde başarılı bir şekilde cevap olarak döndürüldü. Şimdi başka bir örnekte @QueryParam ile birden fazla parametre gönderelim.

Postman ile isteği gönderelim.

URI=> http://localhost:8080/JAX-RS_Tutorial/application/queryparam/multipleparam?id=34&name=Furkan

İstek başarılı bir şekilde yapıldı ve cevap döndürüldü. Eğer değerler atanmamış olsaydı cevap null olarak dönecekti. Bunu engellemek için yani default değer atamak için @DefaultValue notasyonu kullanılır. Şimdi örnek üzerinde bakalım.

@DefaultValue

id parametresinin default değeri 81 olarak ve name parametresinin default değeri Furkan olarak ayarlanmıştır. Şimdi bu parametrelere boş istek gönderelim ve cevaba bakalım.

URI => http://localhost:8080/JAX-RS_Tutorial/application/queryparam/default

Görüldüğü üzere default kaynağına parametre gönderilmedi ve verilen default değerler başarılı bir şekilde cevap döndürüldü.

@Context

UriInfo sınıfı bize Query parametrelerine erişebilmemizi sağlar. Şimdi postman ile istek gönderelim ve cevaba bakalım:

URI => http://localhost:8080/JAX-RS_Tutorial/application/queryparam/context?id=1&name=Furkan

Başarılı bir şekilde cevap döndürüldü. Bu yazımı burada bitiriyorum diğer yazılarımda görüşmek üzere…

Print Friendly, PDF & Email

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.