Spring Boot ile RestTemplate Kullanarak HTTP İstekleri Gönderme

Günümüzde farklı uygulamalar arasında veri paylaşımı yapmak için en çok tercih edilen mimari modellerden biri RESTful servislerdir. İstemci ve sunucu arasındaki iletişim, HTTP protokolü üzerinden JSON veya XML formatlarıyla sağlanır.

Bu yazıda, özellikle sık aranan konulardan olan Spring Rest Service, RestTemplate kullanımı ve Spring Boot POST API örneği gibi başlıklara odaklanarak pratik bir rehber sunacağız.

🔍 REST Servis Nedir?

REST (Representational State Transfer), web servisleri için kullanılan hafif ama güçlü bir mimari yaklaşımdır. RESTful servisler genellikle JSON formatında veri döner ve şu HTTP metodlarını kullanır:

  • GET – Veri çekmek
  • POST – Yeni veri oluşturmak
  • PUT – Var olan veriyi güncellemek
  • DELETE – Veriyi silmek

⚙️ Spring Boot RestTemplate Nedir?

RestTemplate, Spring Framework tarafından sağlanan bir HTTP istemci kütüphanesidir. RESTful API’lere HTTP istekleri göndermek ve yanıtları işlemek için kullanılır. Aşağıdaki HTTP metodlarını destekler:

  • GET
  • POST
  • PUT
  • DELETE
  • exchange() ile özelleştirilmiş istekler

🧪 RestTemplate ile HTTP İstekleri – Kod Örnekleri

Aşağıdaki örnekler, Spring Boot uygulamanızda RestTemplate kullanarak nasıl HTTP isteği gönderebileceğinizi adım adım göstermektedir.

1️⃣ GET Metodu — Veri Çekme


RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/data";

ResponseEntity<String> response =
        restTemplate.getForEntity(url, String.class);

System.out.println(response.getBody());
        

2️⃣ POST Metodu — Veri Gönderme (Spring Boot POST API Örneği)


RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/resource";

String requestBody = "{\"name\": \"John\"}";

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<String> requestEntity =
        new HttpEntity<>(requestBody, headers);

ResponseEntity<String> response =
        restTemplate.postForEntity(url, requestEntity, String.class);

System.out.println(response.getBody());
        

3️⃣ PUT Metodu — Veri Güncelleme


RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/resource/123";

String requestBody = "{\"name\": \"Jane\"}";

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<String> requestEntity =
        new HttpEntity<>(requestBody, headers);

restTemplate.put(url, requestEntity);
        

4️⃣ DELETE Metodu — Veri Silme


RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/resource/123";

restTemplate.delete(url);
        

5️⃣ exchange() Metodu — Daha Esnek Kullanım


RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/data";

HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer your-access-token");

HttpEntity<String> entity = new HttpEntity<>(headers);

ResponseEntity<String> response =
        restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

System.out.println(response.getBody());
        

🏁 Sonuç

Bu yazıda Spring Boot ile RestTemplate kullanarak GET, POST, PUT, DELETE ve exchange metodlarıyla nasıl HTTP istekleri gönderebileceğinizi gördünüz.

RestTemplate, Spring Rest Service mimarisinde harici API’lerle iletişim kurmak için oldukça güçlü ve kullanımı kolay bir araçtır. Uygulamalarınızda bu örnekleri temel alarak kendi entegrasyonlarınızı rahatlıkla geliştirebilirsiniz.

📌 Daha Fazla Bilgi İçin

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Spring Boot ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *