Merhaba arkadaşlar bu yazımda sizlere Java Restful CRUD web servislerinden bahsetmek istiyorum. Öncelikle CRUD dediğimiz yapının ne olduğu ile başlayalım CRUD (Create, read, update and delete) kelimelerinin baş harfleri kullanılarak oluşturulmuş bir ifadedir. Yani insert update delete ve select işlemlerini yapar.
CRUD operasyonları aşağıda yer alan keywordleri kullanarak kullanabilmemiz mümkündür.

Get Kaynakta okuma işlemi yapar select sorgusu olarak düşünmemiz mümkündür.
Post Create, oluşturma işlemi burada yapılır. insert sorgusu olarak düşünebiliriz.
Put Update, güncelleme işlemi burada yapılır.
Delete silme işleminde kullanılır.

Dinamik web application oluşturup, maven projesi haline dönüştürdükten sonra aşağıda yer alan kodları pom.xml dosyasının içine yerleştirmeliyiz.

Biz burada projemizde kullanacağımız jarları projemize eklemiş olduk. Jersey servlet, verinin ekranda nasıl gösterileceğini belirten bir jar iken, jersey-json ise formatını belirleyen bir yapıdır. Bu projede biz json formatını kullanacağız.
Daha sonra ise web konfigürasyonlarını yapabilmek için  web.xml oluşturup projemize devam ediyoruz.

Yukarıda verilen konfigürasyonu  açıklayalım.

Servlet mapping kısmında rest klasörünün altında yer alan bütün her şeyi alacaktır.

init param metodunda ise burada yer alan controllerların nerede olduğunu ve nereye bakacağını yazıyoruz.

Aşağıda örnek bir pojo yani veritabanı ile bağlantı yapmamızı sağlayan sınıf yer almaktadır.

Bu örneğimizde, biz Country isminde bir sınıf oluşturup onların özelliklerini yazıyoruz. Burada ise id, CountryName ve populasyon isminde column ekledik. Bu da bizim tablomuza ait columnlardır.

Aşağıda ise projenin dao kısmını yazıyoruz. Bu katman veri tabanında temel işlemlerinin yapıldığı projenin kalbi denilebilecek kısmıdır. Burada olan temel işlemler hep aynıdır diyebiliriz.

Aşağıda ise bu servisi kullanarak hazırladığımız Controller vardır.

Yukarıda yer alan kod /countries kısmını okuyarak gelirse, bizim getCountry kısmına gelecek ve böylece tüm veriler json olarak listelenecektir.

Bu kod bize gelen verinin JSON formatında dönmesini sağlıyor. Bir de burada önemli olan bir diğer kod ise   @Path(“/{id}”) ve  @PathParam(“id”) paremetresidir. Bu parametre sayesinde id’ye göre işlem yapmaya olanak sağlamaktadır.

Bu işlemleri yaptıktan sonra projeyi tomcattte glassfishde jboss da veya jety de çalıştırıp servisi kullanabiliriz.