Tüm blog yazıları

Postman ve Hoppscotch Kullanımı

API'leri test etmek artık çok kolay! Kod yazmadan önce API'lerin nasıl çalıştığını anlamak için Postman ve Hoppscotch gibi güçlü araçlarla tanışın. Tarayıcı kısıtlamalarından kurtulun, tüm HTTP metodlarını kullanın ve API isteklerinizi profesyonelce yönetin. Başlangıç için Hoppscotch'u keşfedin!

eminbasbayan6 dk okuma
Postman ve Hoppscotch API test araçları arayüzleri, HTTP istekleri ve JSON yanıtları gösteriliyor.

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:

metin
https://jsonplaceholder.typicode.com/users/1

Sonuç 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:

ÖzellikPostmanHoppscotch
TürMasaüstü uygulamasıWeb tabanlı
Kurulumİndirip kurmak gerekirKurulum yok, tarayıcıda açılır
HesapHesap oluşturmak gerekirHesap zorunlu değil
FiyatÜcretsiz (sınırlı)Tamamen ücretsiz
ÖzelliklerDaha kapsamlıTemel ihtiyaçlar için yeterli
URLpostman.comhoppscotch.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:

metin
https://hoppscotch.io

Karşınıza şöyle bir arayüz çıkacak:

metin
┌─────────────────────────────────────────────────────┐
│  [GET ▼]  [URL girin...                    ] [Gönder]│
├─────────────────────────────────────────────────────┤
│  Parametreler | Headers | Body | Auth               │
├─────────────────────────────────────────────────────┤
│                                                     │
│                    YANIT ALANI                      │
│                                                     │
└─────────────────────────────────────────────────────┘

Adım 2: İlk İsteğinizi Yapın

  1. Metod olarak GET seçili olsun (varsayılan)
  2. URL kutusuna şunu yazın:
    metin
    https://jsonplaceholder.typicode.com/posts/1
  3. Gönder (Send) butonuna tıklayın

Adım 3: Yanıtı İnceleyin

Aşağıda şuna benzer bir yanıt göreceksiniz:

json
{
  "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

metin
GET https://jsonplaceholder.typicode.com/users

Yanıt: 10 kullanıcının listesi (isim, email, adres bilgileri)

Örnek 2: Belirli Bir Kullanıcı

metin
GET https://jsonplaceholder.typicode.com/users/3

Yanıt: 3 numaralı kullanıcının detayları

Örnek 3: Rastgele Aktivite Önerisi

metin
GET https://www.boredapi.com/api/activity

Yanıt:

json
{
  "activity": "Learn a new programming language",
  "type": "education",
  "participants": 1,
  "price": 0
}

Örnek 4: Rastgele Köpek Fotoğrafı

metin
GET https://dog.ceo/api/breeds/image/random

Yanıt:

json
{
  "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:

metin
https://api.example.com/search?q=javascript&limit=10

Parameters sekmesinden ekleyebilirsiniz:

KeyValue
qjavascript
limit10

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:

KodRenkAnlam
200YeşilBaşarılı
201YeşilOluşturuldu
400KırmızıHatalı istek
401KırmızıYetkisiz
404KırmızıBulunamadı
500KırmızıSunucu hatası

Test Edelim

Var olan endpoint:

metin
GET https://jsonplaceholder.typicode.com/posts/1

Sonuç: 200 OK ✓

Var olmayan endpoint:

metin
GET https://jsonplaceholder.typicode.com/posts/999999

Sonuç: 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ı

metin
GET https://jsonplaceholder.typicode.com/posts?userId=1

Bu istek sadece 1 numaralı kullanıcının postlarını getirir.

Örnek: Sayfalama

metin
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

metin
https://api.example.com/data?key1=value1&key2=value2

Yöntem 2: Parameters sekmesini kullanın

KeyValue
key1value1
key2value2

İ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:

metin
GET https://icanhazdadjoke.com/

Yanıt: HTML sayfası (istemediğimiz şey)

Header ile:

metin
GET https://icanhazdadjoke.com/
Headers:
  Accept: application/json

Yanıt:

json
{
  "id": "R7UfaahVfFd",
  "joke": "What do you call a fish without eyes? A fsh.",
  "status": 200
}

Hoppscotch'ta Header Ekleme

  1. Headers sekmesine tıklayın
  2. Yeni satır ekleyin:
    • Key: Accept
    • Value: application/json
  3. İ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:

metin
{"userId":1,"id":1,"title":"sunt aut facere...","body":"quia et suscipit..."}

Tek satır, okunması zor.

Hoppscotch'ta JSON:

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

metin
GET https://restcountries.com/v3.1/name/turkey

2. IP Adresi Bilgisi

metin
GET https://ipapi.co/json/

3. Rastgele Alıntı

metin
GET https://api.quotable.io/random

4. GitHub Kullanıcısı

metin
GET https://api.github.com/users/torvalds

5. Hava Durumu (Açık API)

metin
GET https://wttr.in/Istanbul?format=j1

Her 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

KavramAçıklama
Postman/HoppscotchAPI test araçları
Neden kullanılırKod yazmadan API'leri test etmek
Metod seçimiGET, POST, PUT, DELETE vb.
ParametersQuery string parametreleri
Headersİstek başlıkları
Yanıt incelemeStatus 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.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele