05_JAX-RS_Restful_@GET

Merhaba arkadaşlar, bu yazımda @GET notasyonunu ayrıntılı bir şekilde anlatacağım.

Yalnızca kaynak gösterimi/bilgisi almak için GET istekleri kullanılır. GET istekleri kaynağın durumunu değiştirmediğinden, bu isteklerin güvenli olduğu bilinir. GET API’lerinin kaynağı değiştirilmediği takdir de aynı sonu döner.

Herhangi bir HTTP GET API’si için, eğer kaynak sunucuda bulunursa, o zaman genellikle XML veya JSON içeriği olan cevap gövdesiyle beraber HTTP cevap kodunu 200(OK) döndürülür.

Kaynak sunucuda bulunmazsa, 404 HTTP yanıt kodunu (Found Not) döndürülür. Benzer şekilde, GET isteğinin kendisinin doğru şekilde oluşturulmadığı tespit edilirse, sunucu HTTP yanıt kodunu­ 400 (Bad Request) olarak döndürür. Şimdi örnek üzerinden inceleyelim.

Person.java

Person adında pojo sınıfımız vardır. Bu sınıf da değişkenler ve bu değişkenlere ait getter/setter metotlar vardır.

Görüldüğü gibi sadece sınıfımıza path verilmiştir. Bu path sayesinde bu kaynağa erişebiliriz.

Eğer bir sınıf da 2 adet @GET metodu varsa ve bu metotlara ayrı @PATH verilmediyse sunucu hangi metodu çağıracağını bilmediği için hata verir. Fakat burada ki gibi bir adet @GET metodumuz varsa başarılı bir şekilde çalışır.

@GET => Kaynağın GET metodu olduğunu belirtir.

@Produces => Kaynağın dönüş tipini belirtir.

Şimdi bu kaynağa istek yollayalım. Postman kullanarak http://localhost:8080/JAX-RS_Tutorial/application/get adresine get isteği göndererek sonuca bakalım:

Bu URL de application: Application sınıfına verilen @PATH‘dir.

Görüldüğü gibi sonuç text olarak döndü ve 200 OK cevabı alındı. Şimdi diğer bir örneğe bakalım.

Burada 2 adet kaynak mevcuttur. Bu kaynaklara @PATH ile özel pathler verildiği için başarılı bir şekilde çalışacaktır. Görüldüğü gibi getPersonJson() metodu JSON formatında dönüş yapacaktır.  Şimdi 2 kaynağada istek(request) gönderelim.

Sonuç olarak başarılı bir şekilde JSON nesnesi döndürüldü.

Sonuç Text formatında başarılı bir şekilde döndürüldü. Bu iki istek arasındaki farklar dönüş tipi ve URL’dir.

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.