Java ile RestAPI Oluşturup Web Servise JSON Formatında Basmak

Ilgın Yalçın
Android Türkiye
Published in
2 min readJul 11, 2018

Merhaba ,

Bu yazımda databaseden çekilen verilerin nasıl web serviste JSON formatında gösterileceğini anlatacağım. JAX-RS notasyonlarını kullanarak URL üzerinden istenen verinin web servise getirilmesini göstereceğim.Hazırsanız başlayalım.

Yeni bir maven projesi oluşturarak işe başlıyoruz. Proje bağımlılıklarımızı eklemek için pom.xml dosyasına aşağıdaki bağımlılıkları ekliyoruz.

Bağımlılıklarımızı da güncelledikten sonra artık restful web servis yazmaya hazırız.Öncelikle şöyle bir hiyerarşi oluşturuyoruz.

‘models’ paketinin içindeki UserModel.java classında databaseden çekeceğimiz kullanıcıların özelliklerini tanımlıyoruz.Benim ‘user’ tablomda id,name,surname ve age sütunları var. O yüzden UserModel’im şu şekilde :

‘DbOperations.java’ classımız genel olarak database işlemlerini yaptığımız yer olacak.Bağlantı açıp,bağlantı kapatmak,statement yaratmak gibi methodları var.

Util.java classı ise veritabanından çekilen kullanıcı bilgilerini bir listede tutma işini yapıyor. ‘addUser’ methodu istenen kullanıcıları veritabanında bularak listeye ekliyor.Bu hangi kullanıcıların istendiği bilgisi Main classımızdan ResultSet olarak bu methodun içine gönderiliyor.

ApplicationClass.java classımız ise şu şekilde :

@ApplicationPath notasyonu, tüm kaynaklar için temel URI işlevi gören uygulama yolunu tanımlayacak.

Gelelim Main.java classımıza..

@Produces(MediaType.APPLICATION_JSON) notasyonu ise üretilen çıktının JSON formatında olmasını sağlıyor.

@GET notasyonlu metodların her birine farklı bir Path verdik.Bu internette sorgu yaparken URL kısmına hangi pathi girersek o metodu çalıştıracak demek oluyor. Tüm listeyi ekrana dökmek için getTheList metodunu çağırmak gerekiyor.O halde url şu şekilde olacak :

http://localhost:8080/myProject/webservice/getExample/getTheList

Diyelim ki sadece 25 yaşındaki kullanıcıların gösterilmesini istiyorum.O halde url yi şu şekilde değiştiririm :

http://localhost:8080/myProject/webservice/getExample/age/25

{age} kısmına girilen 25 değeri @PathParam sayesinde customerAge parametresine atanmış oluyor.

24 yaşında ve ismi “Derya” olan kullanıcıların getirilmesi gibi bir sorgu yapacaksak eğer QueryParam kullanırız.

http://localhost:8080/myProject/webservice/getExample/getNameAndAge?name=Derya&age=24

Eğer daha düzenli görünmesini istiyorsanız JSON Formatter eklentisini chrome’a ekleyebilirsiniz ya da Postman kullanabilirsiniz.

Kaynak kodlara buradan ulaşabilirsiniz.

Bugünlük anlatacaklarım bu kadardı.Umarım faydalı olmuştur.

--

--