
API'lerin ne olduğunu ve JSON formatını öğrendik. Şimdi sıra geldi bu API'leri test etmeye. Kod yazmadan önce bir API'nin nasıl çalıştığını anlamak istersiniz. İşte burada Postman ve Hoppscotch gibi araçlar devreye giriyor.
Bu araçlar geliştiricilerin en yakın dostlarından biri. API'lere istek atmanızı, yanıtları incelemenizi ve her şeyi test etmenizi sağlar.
Neden Bu Araçlara İhtiyacımız Var?
Tarayıcıdan İstek Yapmak
Evet, tarayıcının adres çubuğuna bir API URL'i yazıp Enter'a basabilirsiniz:
https://jsonplaceholder.typicode.com/users/1Sonuç olarak JSON görürsünüz. Ama bu yöntemin ciddi kısıtlamaları var:
Tarayıcının Kısıtlamaları:
- Sadece GET isteği yapabilirsiniz
- Header ekleyemezsiniz
- POST, PUT, DELETE isteği yapamazsınız
- Yanıt düzgün formatlanmamış, okunması zor
API Test Araçlarının Avantajları
- Tüm HTTP metodlarını kullanabilirsiniz (GET, POST, PUT, DELETE...)
- Header ekleyebilirsiniz
- Body (gövde) ile veri gönderebilirsiniz
- Yanıtlar güzel formatlanmış şekilde gösterilir
- İstekleri kaydedip tekrar kullanabilirsiniz
- Koleksiyonlar oluşturup organize edebilirsiniz
Postman vs Hoppscotch
İki popüler araç var ve ikisi de aynı işi yapıyor:
| Özellik | Postman | Hoppscotch |
|---|---|---|
| Tür | Masaüstü uygulaması | Web tabanlı |
| Kurulum | İndirip kurmak gerekir | Kurulum yok, tarayıcıda açılır |
| Hesap | Hesap oluşturmak gerekir | Hesap zorunlu değil |
| Fiyat | Ücretsiz (sınırlı) | Tamamen ücretsiz |
| Özellikler | Daha kapsamlı | Temel ihtiyaçlar için yeterli |
| URL | postman.com | hoppscotch.io |
Tavsiyem: Başlangıç için Hoppscotch kullanın. Kurulum gerektirmez, hemen başlayabilirsiniz. İlerleyen zamanlarda ihtiyaç duyarsanız Postman'e geçebilirsiniz.
Hoppscotch'a Giriş
Adım 1: Siteyi Açın
Tarayıcınızda şu adrese gidin:
https://hoppscotch.ioKarşınıza şöyle bir arayüz çıkacak:
┌─────────────────────────────────────────────────────┐
│ [GET ▼] [URL girin... ] [Gönder]│
├─────────────────────────────────────────────────────┤
│ Parametreler | Headers | Body | Auth │
├─────────────────────────────────────────────────────┤
│ │
│ YANIT ALANI │
│ │
└─────────────────────────────────────────────────────┘Adım 2: İlk İsteğinizi Yapın
- Metod olarak GET seçili olsun (varsayılan)
- URL kutusuna şunu yazın:
metin
https://jsonplaceholder.typicode.com/posts/1 - Gönder (Send) butonuna tıklayın
Adım 3: Yanıtı İnceleyin
Aşağıda şuna benzer bir yanıt göreceksiniz:
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur..."
}Tebrikler! İlk API isteğinizi yaptınız.
Farklı API'leri Test Edelim
Örnek 1: Kullanıcı Listesi
GET https://jsonplaceholder.typicode.com/usersYanıt: 10 kullanıcının listesi (isim, email, adres bilgileri)
Örnek 2: Belirli Bir Kullanıcı
GET https://jsonplaceholder.typicode.com/users/3Yanıt: 3 numaralı kullanıcının detayları
Örnek 3: Rastgele Aktivite Önerisi
GET https://www.boredapi.com/api/activityYanıt:
{
"activity": "Learn a new programming language",
"type": "education",
"participants": 1,
"price": 0
}Örnek 4: Rastgele Köpek Fotoğrafı
GET https://dog.ceo/api/breeds/image/randomYanıt:
{
"message": "https://images.dog.ceo/breeds/terrier-scottish/n02097298_7694.jpg",
"status": "success"
}Arayüzü Tanıyalım
1. Metod Seçici (Dropdown)
Sol üstteki dropdown'dan HTTP metodunu seçersiniz:
- GET - Veri almak için
- POST - Yeni veri oluşturmak için
- PUT - Veriyi tamamen güncellemek için
- PATCH - Veriyi kısmen güncellemek için
- DELETE - Veri silmek için
2. URL Alanı
API'nin endpoint adresini buraya yazarsınız.
3. Parametreler (Parameters)
Query string parametrelerini buradan ekleyebilirsiniz. Örneğin:
URL'e manuel yazmak yerine:
https://api.example.com/search?q=javascript&limit=10Parameters sekmesinden ekleyebilirsiniz:
| Key | Value |
|---|---|
| q | javascript |
| limit | 10 |
Bu şekilde daha düzenli ve hata yapma olasılığı daha düşük.
4. Headers
İstek başlıklarını buradan eklersiniz. Bazı API'ler özel header ister.
5. Body
POST, PUT, PATCH isteklerinde göndereceğiniz veriyi buraya yazarsınız.
6. Yanıt Alanı
- Body: Gelen veri (JSON, HTML, vs.)
- Headers: Yanıt başlıkları
- Status: Durum kodu (200, 404, 500 vs.)
Durum Kodlarını Anlama
İstek yaptığınızda bir durum kodu görürsünüz:
| Kod | Renk | Anlam |
|---|---|---|
| 200 | Yeşil | Başarılı |
| 201 | Yeşil | Oluşturuldu |
| 400 | Kırmızı | Hatalı istek |
| 401 | Kırmızı | Yetkisiz |
| 404 | Kırmızı | Bulunamadı |
| 500 | Kırmızı | Sunucu hatası |
Test Edelim
Var olan endpoint:
GET https://jsonplaceholder.typicode.com/posts/1Sonuç: 200 OK ✓
Var olmayan endpoint:
GET https://jsonplaceholder.typicode.com/posts/999999Sonuç: 404 Not Found ✗
Query String Kullanımı
Bazı API'ler filtreleme, arama veya sayfalama için query string bekler.
Örnek: Belirli Kullanıcının Postları
GET https://jsonplaceholder.typicode.com/posts?userId=1Bu istek sadece 1 numaralı kullanıcının postlarını getirir.
Örnek: Sayfalama
GET https://jsonplaceholder.typicode.com/posts?_page=2&_limit=5_page=2: İkinci sayfa_limit=5: Sayfa başına 5 sonuç
Hoppscotch'ta Query String Ekleme
Yöntem 1: URL'e doğrudan yazın
https://api.example.com/data?key1=value1&key2=value2Yöntem 2: Parameters sekmesini kullanın
| Key | Value |
|---|---|
| key1 | value1 |
| key2 | value2 |
İkinci yöntem daha temiz ve parametreleri açıp kapatabilirsiniz.
Header Ekleme
Bazı API'ler özel header ister. En yaygın örnek: Accept header'ı.
Örnek: Dad Jokes API
Bu API, header'a göre farklı format döndürür:
Header olmadan:
GET https://icanhazdadjoke.com/Yanıt: HTML sayfası (istemediğimiz şey)
Header ile:
GET https://icanhazdadjoke.com/
Headers:
Accept: application/jsonYanıt:
{
"id": "R7UfaahVfFd",
"joke": "What do you call a fish without eyes? A fsh.",
"status": 200
}Hoppscotch'ta Header Ekleme
- Headers sekmesine tıklayın
- Yeni satır ekleyin:
- Key:
Accept - Value:
application/json
- Key:
- İsteği gönderin
JSON Yanıtları İnceleme
Hoppscotch, JSON yanıtlarını güzel formatlar:
Özellikler:
1. Syntax Highlighting (Renklendirme)
- String'ler yeşil
- Sayılar mavi
- Boolean'lar turuncu
- Anahtarlar farklı renk
2. Katlanabilir (Collapsible) Büyük nesneleri veya dizileri tıklayarak kapatıp açabilirsiniz.
3. Kopyalama Tüm yanıtı veya bir bölümünü kolayca kopyalayabilirsiniz.
Tarayıcı vs Hoppscotch Karşılaştırması
Tarayıcıda JSON:
{"userId":1,"id":1,"title":"sunt aut facere...","body":"quia et suscipit..."}Tek satır, okunması zor.
Hoppscotch'ta JSON:
{
"userId": 1,
"id": 1,
"title": "sunt aut facere...",
"body": "quia et suscipit..."
}Düzgün girintili, renkli, okunması kolay.
Pratik: Farklı API'leri Deneyin
Aşağıdaki API'leri Hoppscotch'ta test edin:
1. Ülke Bilgileri
GET https://restcountries.com/v3.1/name/turkey2. IP Adresi Bilgisi
GET https://ipapi.co/json/3. Rastgele Alıntı
GET https://api.quotable.io/random4. GitHub Kullanıcısı
GET https://api.github.com/users/torvalds5. Hava Durumu (Açık API)
GET https://wttr.in/Istanbul?format=j1Her birini deneyin ve yanıtları inceleyin. Farklı veri yapılarını görün.
İpuçları
1. Proxy Uyarısı
Bazen Hoppscotch "Enable proxy" uyarısı gösterebilir. Bu, bazı API'lerin tarayıcı güvenlik kısıtlamaları nedeniyle doğrudan erişilemediği anlamına gelir. Proxy'yi etkinleştirin ve tekrar deneyin.
2. İstekleri Kaydetme
Hoppscotch'ta istekleri koleksiyonlara kaydedebilirsiniz. Böylece her seferinde URL yazmak zorunda kalmazsınız.
3. Ortam Değişkenleri (Environment Variables)
Sık kullandığınız değerleri (API anahtarı, base URL) değişken olarak tanımlayabilirsiniz.
4. Geçmiş (History)
Yaptığınız istekler geçmişte saklanır. Sol menüden erişebilirsiniz.
Özet
| Kavram | Açıklama |
|---|---|
| Postman/Hoppscotch | API test araçları |
| Neden kullanılır | Kod yazmadan API'leri test etmek |
| Metod seçimi | GET, POST, PUT, DELETE vb. |
| Parameters | Query string parametreleri |
| Headers | İstek başlıkları |
| Yanıt inceleme | Status code, body, headers |
Sırada Ne Var?
API test araçlarını öğrendik. Artık herhangi bir API'yi kod yazmadan test edebilirsiniz.
Bir sonraki makalede HTTP Metodlarını (GET, POST, PUT, DELETE) daha detaylı inceleyeceğiz.


