RESTful Crud with Json

Merhaba arkadaşlar, bu yazımda Restful ile json’u beraber nasıl kullanırız onu anlatmaya çalışıcağım.

Öncelikle bir maven projesi oluşturalım. Bir önceki yazılarda proje oluşturma aşamasını anlatmadığım için o aşamada takılan arkadaşlar olmuş. Bu yazıda İntellij üzerinde nasıl oluşturacağımızı da göstericeğiz.

Öncelikle maven projesi oluşturalım;

 

Capture1

Capture2

Capture3

Finish diyerek bitirelim;

Daha sonra pom.xml içerisine gerekli jar’lar için ayarlamaları yapalım;

* 3 tane dependency ekliyoruz, bunlar; java ee , jersey server ve jersey json için olucaktır. Maven ilgili jar’ları lib olarak projeye ekleyecektir. Şimdi ise projejemize facets eklemesi gerçekleştirelim, intellij için ctrl+shift + alt + s ile project structure’ı açalım. Projemize “web” facet eklemeliyiz.

Capture4

 

Capture7

* Ayarları yaptıktan web.xml web klasörü altında oluşucaktır ve lib’ler de aşağıdaki gibi görülecektir.

Capture5

Gelelim Java sınıflarını oluşturmaya ve devamında web.xml içerisindeki tanımlamaları yazmaya.

wora.tutorial.PersonJson classı;

bean.Person classı;

web.xml içerisinde Restful tanımlamarımızı yapalım;

web.xml içerisinde dikkat etmemiz gereken kısım ise jersey’in json ile java sınıfını mapping etmesi için parametre tanımı olucaktır.

Restful methodlarımız için url template şu şekilde olucaktır;

POST : localhost:8080/rest/api/create

PUT : localhost:8080/rest/api/

GET : localhost:8080/rest/api/id

Json ile çalışabiliriz artık, Person objesini json ile döndüren methoda bakalım;

* Kendisine verilen int id ile Person objesi oluşturup return eden methodumuz Http GET methodu ile oluşturulmuştur.

* http://localhost:8080/rest/api/11 url yapısı ile request yapalım;

Capture8

* Birden fazla Json Person objemizi nasıl döndüreceğimize bakalım, bunun için bir java List return etmemiz yeterli;

* http://localhost:8080/rest/api/ ile request yapalım;

Capture9

* Şimdi de Http POST methodu ile json gönderelim methodumuza. Person json objemizi method içerisinde parametre olarak declare etmek yeterli olucaktır. Restful arka planda json attribute’ları ile java attribute’ları mapping işlemine sokacaktır.

* SOAP UI ile bir Restful testi hazırladım, oradan json objesini post methodu ile gönderelim;

Capture10

* Şimdi de Json alan ve Json döndüren Http PUT methodu ile update işlemi gerçekleştirelim;

* Soap UI ile çıktıya bakalım;

Capture11

* Json kullanarak REST ile çok iyi anlaşabiliyoruz. Jersey arka planda mapping işlemini gerçekleştiriyor.

* İntellij içerisinde Tomcat Contaıner ayarını yapıp run edelim;

Capture12

* Projemiz hazır , artık json ve restful ile beraber çalışabiliriz. Blog’daki backbone.js yazıları içinde lazım olucaktır, backbone.js’deki rest işlemlerinde de bunu kullanacağız.

* Yazımızda dikkat edilmesi gereken noktalara bakalım;

  • Bean sınıfımızın parametre almayan constructor’a sahip olmalıdır.
  • Getter/Setter methodlarının olması gerekmektedir.
  • Json mapping işlemi için web.xml’de init-param olarak PojoMapping değişkenin true olarak ayarlanmasıdır. Pojo, JavaBean’den pek farksız değildir. Hemen hemen aynıdır, her JavaBeans aynı zamanda POJO’dur. Ama her POJO aynı zamanda JavaBeans değildir. JavaBeans’ın Serializable interface’sini implemente etmesi gibi zorunlulukları vardır. Bu konulara çok girmeyelim

Yazımı burada sonlandırmak istiyorum arkadaslar, bir sonraki yazıda görüşmek dileğiyle.

Mutlu kalın, kod’la kalın ve bol bol Çay için

Örnek Proje : RESTful Crud with Json

~ Alican Akkuş

1561 Total Views 4 Views Today