Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

soru ekleme

Soru sormak için giriş yapmalısınız.

Giriş

Kayıt Ol

.........

Spring Boot İle Rest Servis Uygulama Örneği

Spring Boot İle Rest Servis Uygulama Örneği

     Herkese selamlar,

Bu yazıda   Spring boot  MVC kullanarak oluşturacağımız web servis ile  JSON formatında kişi bilgisini  üreteceğiz.

Örnek  projenin kodlarına   https://github.com/zeynepsit/restfullOrnek   adresinden ulaşabilirsiniz.

Öncelikle File->New->Spring Starter Project  diyerek yeni bir Spring boot projesi oluşturalım.

pom.xml dosyamız  aşağıdaki gibi olucaktır.Projede ihtiyaç duyacağımz tanımları pom.xml dosyamıza ekleyeceğiz.

<build> </build> tagları ile   spring boot maven pluginin devreye alınması sağlanıyor.

pom.xml

 Dilerseniz şimdi  Otomobil ve OtomobilSahip model sınıflarını oluşturalım. 

 id ,model ,modelYil attributelerini oluşturduktan sonra sağ tuş Source->Generate Getter and  Setter den get set         metotlarını oluşturalım.Aynı şekilde toString metodunu da ekleyelim.
 

OtomobilSahip.java

Otomobil.java

Otomobil sınıfına id,model,modelYil değişkenlerini ve OtomobilSahip tipinde otomobilSahip isminde attribute ekleyelim 

 Şimdi uygulamanın Dao Arayüzlerini oluşturalım.Öncelikle com.galeriRestfull.dao adında bir paket oluşturalım.Bu paket altında  OtomobilSahipRepository  isminde bir interface oluşturalım.

Create,update,delete işlemlerini yapmayı sağlayacak metot tanımlarını arayüze eklememiz gerekecek.Şimdilik 

2 tane metot ekleyelim.Uygulamanın devamında bu sayı artacak.

findAll adında bütün otomobil sahiplerini  döndürecek bir metot tanımlayalım.Ardından  id si verlien  otomobil sahiplerini döndürecek findById metodunu ekleyelim
 

Dilerseniz şimdi OtomobilSahipRepository arayüzünü implement eden OtomobilSahipRepositoryImpl   sınıfı oluşturalım.

Öncelikle sınıfın üstüne @Repository anatasyonu ekleyelim.

Bu anatasyon sayesinde çalışma zamanında bir bean oluşacaktır.

Örnek nesnelerimizi oluşturacağımız OtomobilSahipRepositoryImpl  contructorımızı oluşturalım.

Ardından birtane otomobilSahipMap  attribute oluşturalım.Şimdi ise örnek olarak 2 tane OtomobilSahip  nesnesi oluşturalım. otomobilSahipMap  nesnesini kullanarak tüm metotları implement edelim.

findAll metodunun içeriğine baktığımzda otomobilSahipMap in  tüm değerlerini döndürdüğünü görüyoruz.

findById ile ise otomobilSahipMap  deki key ile eşleşen otomobilSahip değeri döner.

OtomobilSahipRepositoryImpl

Şimdi uygulamanın Service Arayüzlerini  com.galeriRestfull.service paketi altında tanımlayalım. GaleriService  interface ini  gerekli metotlarımızı yazalım. İlk metot java.util.List tipinde değer döndürecektir.

GaleriService

Ardından  GaleriService arayüzünü implement  eden GaleriServiceImpl sınıfını yazalım.Öncelikle @Service anatasyonu koyalım.

Sonrasında  OtomobilSahipRepository   tipinde  otomobilSahipRepository değişkenini oluşturalım.

GaleriServiceImpl

Dilerseniz şimdi GaleriRestController sınıfını oluşturalım.Bu sunıfta spring mvc ile restfull web servisini kullanacağız.

Bilindiği gibi rest  web servisi http protokü üzerinden http metoduyla gerçekleştirilir.Bu protokol reguest ile response’larla iletişim sağlar.http protokolünün url yapısı aşağıdaki gibidir.

http://localhost:8080/index?queryString#section-id

localhost=server adresi
8080=port numarası(değişebilir)
index=resourcrPath
soru işaretinden sonraki bölüm queryString olarak adlandırılır.Burada belirli filtrelemeler yapılabilir.
# işaretinden sonraki bölüm fragmentId olarak isimlendirilir.

 Restful web servislerinde önemli 4 metot söz konusudur

  •       get:Var olan kaynağa  erişim sağlar
  •       post:yeni kaynak oluşturur
  •       put:yeni kaynak oluşturur ve kaynağı  günceller
  •       delete:mevcut kaynağı siler   
       

 Rest servisleri oluşturmak için aşağıdaki anatasyonlar kullanılır.
 @Controller
 @RequestMapping
 @PathVariable
 @RequestBody
 @ResponseBody
 @ResponseStatus

Şimdi aşağıdaki kodlara bakalım.
RequestMapping anatasyonu ile /index adresine gelen web isteklerinin karşılanması sağlanmış olur.
galeriService‘in    findOtomobilSahipler metodunun, dönen sonucunu bir list değişkenine atayacağız ve kisiListesini return ile istemciye döndüreceğiz
 İkinci metodumuz ise getOtomobilSahip metodudur.Burada /index/{id}  şeklinde bir web isteği geldiğinde getOtomobilSahip metodunun devreye girmesi sağlanır.
GaleriRestController

 

Uygulamayı çalıştırdıktan sonra tarayıcımıza  http://localhost:8080/rest/index  sayfasına istek gönderelim.

 

http://localhost:8080/rest/index/2

 

Umarım faydalı bir yazı olmuştur,keyifli çalışmalar 🙂

spring-boot-hibernate-mysql-thymeleaf-ornek-uygulama1

Hakkında Zeynep ŞİT

Namık Kemal Üniversitesi

Leave a reply

*