DEV Community

Cover image for Mocky Nedir: Özel Mock HTTP Yanıtları İçin En İyi Alternatif
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Mocky Nedir: Özel Mock HTTP Yanıtları İçin En İyi Alternatif

Belirli bir JSON gövdesi, durum kodu ve üstbilgiler döndüren sahte bir API uç noktasına sunucu kurmadan ihtiyacınız varsa Mocky iyi bir başlangıçtır. Bu yazıda Mocky ile statik bir yanıtı nasıl oluşturacağınızı, hangi senaryolarda yeterli olduğunu ve ne zaman Apidog gibi daha kapsamlı bir API mock platformuna geçmeniz gerektiğini göreceksiniz. Daha geniş karşılaştırma için çevrimiçi API taklit araçları derlememize ve Mocky’nin açık kaynak deposuna bakabilirsiniz.

Apidog'u bugün deneyin

Mocky nedir?

Mocky, özel HTTP yanıtları oluşturmak için kullanılan ücretsiz ve açık kaynaklı bir web hizmetidir. Tarayıcıda bir yanıt tanımlarsınız, Mocky size benzersiz bir URL verir ve o URL’ye yapılan her istek aynı yanıtı döndürür.

Arka uç yazmanız, sunucu barındırmanız veya mock server kurmanız gerekmez.

Mocky, Julien Lafont tarafından geliştirilmiştir ve Apache 2.0 lisansı altında yayınlanmıştır. Barındırılan sürümü mocky.io adresindedir. Kod açık kaynak olduğu için isterseniz kendi ortamınızda da çalıştırabilirsiniz.

Temel model şudur:

Bir URL → Bir sabit HTTP yanıtı
Enter fullscreen mode Exit fullscreen mode

Bu basitlik Mocky’nin en güçlü tarafıdır.

Mocky ile neleri yapılandırabilirsiniz?

Mocky, istemci geliştirme ve test için gereken temel HTTP yanıt parçalarını ayarlamanıza izin verir:

  • Durum kodu: 200, 404, 500 gibi HTTP durum kodları
  • Yanıt gövdesi: Genellikle JSON, ancak herhangi bir metin yanıtı olabilir
  • HTTP başlıkları: Content-Type ve özel başlıklar dahil
  • Yanıt gecikmesi: Yavaş ağ veya gecikmeli servis davranışı simülasyonu

Yanıtı kaydettikten sonra Mocky size kalıcı bir URL verir. Bu URL’yi ön uç kodunuzda, testlerinizde veya HTTP istemcinizde kullanabilirsiniz.

Hızlı örnek: Mocky ile kullanıcı yanıtı oluşturma

Arka ucunuz hazır değil, ancak ön uçta bir kullanıcı nesnesi göstermeniz gerekiyor diyelim.

Mocky’de şu ayarları yaparsınız:

Status: 200
Header: Content-Type: application/json
Enter fullscreen mode Exit fullscreen mode

Yanıt gövdesi:

{
  "id": 42,
  "name": "Ada Lovelace",
  "role": "admin"
}
Enter fullscreen mode Exit fullscreen mode

Mocky size şu formata benzer bir URL döndürür:

https://run.mocky.io/v3/<some-id>
Enter fullscreen mode Exit fullscreen mode

Ön uçta bu URL’yi doğrudan kullanabilirsiniz:

const response = await fetch("https://run.mocky.io/v3/<some-id>");
const user = await response.json();

console.log(user.name); // Ada Lovelace
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşımın daha genel kullanımı için bir sunucu kurmadan çevrimiçi API’leri nasıl taklit edeceğinizi anlatan rehbere bakabilirsiniz.

Mocky ne zaman doğru seçimdir?

Mocky özellikle küçük, hızlı ve tek seferlik ihtiyaçlarda kullanışlıdır:

  • Hesap oluşturmadan tek bir statik yanıt paylaşmak istiyorsanız
  • Sabit bir payload’u ekip arkadaşınızla veya destek biletiyle paylaşacaksanız
  • Bir hata raporu için 500 internal server error yanıtı üretmeniz gerekiyorsa
  • Yanıtın isteğe göre değişmesi gerekmiyorsa
  • Sadece bir endpoint davranışını hızlıca simüle edecekseniz

Bu senaryolarda Mocky’yi kullanmak pratik ve hızlıdır. Bir dakikadan kısa sürede çalışan bir mock URL elde edebilirsiniz.

Mocky’nin sınırlamaları

Mocky’nin sadeliği aynı zamanda sınırıdır. Her Mocky URL’si tek bir sabit yanıttır. Proje büyüdükçe bu model yetersiz kalabilir.

Başlıca sınırlamalar:

  • Dinamik veri yoktur. Her istek aynı gövdeyi alır. /users/1 ve /users/2 için farklı kullanıcı döndüremezsiniz.
  • İstek eşleştirme yoktur. Mocky sorgu parametresine, path değerine veya request body’ye göre dallanmaz.
  • Organizasyon zayıftır. Gerçek API’lerde onlarca endpoint olur. Bunları ayrı Mocky linkleri olarak yönetmek zorlaşır.
  • Ekip işbirliği sınırlıdır. Paylaşılan çalışma alanı, izin yönetimi veya sürüm takibi yoktur.
  • Şema bağlantısı yoktur. Mock yanıtınız ve OpenAPI spesifikasyonunuz ayrı yerlerde yaşar; zamanla birbirinden kopabilir.

Örneğin bir ön uç ekibinde üç geliştirici farklı alanları mock’luyorsa:

Kullanıcı profili → Mocky URL 1
Sipariş listesi   → Mocky URL 2
Auth akışı        → Mocky URL 3
Enter fullscreen mode Exit fullscreen mode

Bu URL’ler ortak bir proje, temel URL veya ortam yönetimi altında toplanmaz.

Gerçek bir mock server’da ise yapı daha yönetilebilirdir:

https://mock.example.com/users/42
https://mock.example.com/orders
https://mock.example.com/auth/login
Enter fullscreen mode Exit fullscreen mode

Bu noktaya geldiğinizde tek yanıtlı bir araç yerine tam kapsamlı bir API mock platformu kullanmak daha sağlıklı olur. Bütçe tarafını değerlendiriyorsanız ücretsiz ve ucuz API taklit sunucuları rehberimiz seçenekleri karşılaştırır.

En iyi Mocky alternatifi: Apidog

Apidog, Mocky’nin pratik tarafını korur: Bir URL’nin arkasında özel durum kodu, başlık ve JSON gövdesi döndürür.

Buna ek olarak daha büyük API projeleri için gereken özellikleri sağlar:

  • Birden fazla endpoint’i tek projede yönetme
  • Şema tabanlı mock yanıtları oluşturma
  • Dinamik veri üretme
  • Koşullu yanıt kuralları tanımlama
  • Ekip çalışma alanı üzerinden birlikte çalışma

Kısa fark şu:

Mocky  → Hızlı, tek, sabit yanıt
Apidog → Projeyle birlikte büyüyen API mock ortamı
Enter fullscreen mode Exit fullscreen mode

Apidog, Mocky kullanımına ne ekler?

Apidog’un Mocky’ye göre öne çıktığı alanlar:

  • Akıllı mock ve yapay zeka tarafından oluşturulan veriler

    Alan adlarına ve şemaya göre daha gerçekçi değerler üretmeye yardımcı olur. Örneğin email alanı e-posta, createdAt alanı tarih formatında dönebilir.

  • Faker.js desteği

    Her istekte değişen gerçekçi test verileri için Faker.js ile dinamik mock verileri oluşturabilirsiniz.

  • Gelişmiş mock kuralları

    Sorgu parametresine veya request içeriğine göre farklı yanıtlar döndürebilirsiniz.

  • Şema öncelikli mock

    Mock yanıtları OpenAPI tasarımınızdan üretilebilir. Böylece API dokümantasyonu ve mock davranışı aynı tasarıma bağlı kalır.

  • Ekip çalışma alanları

    Mock’lar dağınık URL listeleri yerine paylaşılan projelerde yönetilir.

Basit kullanım da hâlâ mümkündür. Sadece 200 dönen sabit bir JSON endpoint’e ihtiyacınız varsa Apidog bunu da karşılar.

Mocky ve Apidog’a hızlı bakış

Özellik Mocky Apidog
Bir URL arkasında özel durum, başlık ve gövde Evet Evet
Ücretsiz başlangıç, kurulum yok Evet Evet (ücretsiz plan)
Tek statik yanıt Evet Evet
Dinamik veri (Faker.js, akıllı mock) Hayır Evet
İstek eşleştirme / koşullu kurallar Hayır Evet
Tek projede birden fazla endpoint Hayır Evet
Şema tabanlı OpenAPI mock Hayır Evet
Ekip çalışma alanı + sürüm kontrolü Hayır Evet
Kendi kendine barındırma seçeneği Evet (açık kaynak) Bulut + kendi kendine barındırma seçenekleri

Daha fazla alternatif için en iyi API taklit araçları ve REST endpoint taklit araçları listelerine bakabilirsiniz.

Apidog’da bir Mocky URL’sini nasıl değiştirirsiniz?

Tek bir Mocky endpoint’inden Apidog’a geçiş için şu adımları izleyebilirsiniz:

  1. Apidog’u indirin ve bir proje oluşturun.
  2. Yeni bir endpoint ekleyin. Örneğin:
   GET /users/42
Enter fullscreen mode Exit fullscreen mode
  1. Yanıtı tanımlayın:
    • Durum kodu: 200
    • Header: Content-Type: application/json
    • Body:
   {
     "id": 42,
     "name": "Ada Lovelace",
     "role": "admin"
   }
Enter fullscreen mode Exit fullscreen mode
  1. Mock özelliğini etkinleştirin.
  2. Apidog’un oluşturduğu mock URL’yi ön uç kodunuzda veya testlerinizde kullanın.

Örnek istemci kodu:

const response = await fetch("https://your-apidog-mock-url/users/42");
const user = await response.json();

console.log(user);
Enter fullscreen mode Exit fullscreen mode

Daha sonra ihtiyaç oldukça şu özellikleri ekleyebilirsiniz:

  • Dinamik test verisi
  • Koşullu yanıtlar
  • Yeni endpoint’ler
  • OpenAPI şema bağlantısı
  • Ekip çalışma alanı

Geçişi tek seferde yapmak zorunda değilsiniz. Mevcut Mocky linklerini çalışır durumda tutup kritik endpoint’leri Apidog’da yeniden oluşturabilir, proje tek yerde toplandığında eski URL’leri kaldırabilirsiniz.

Zaten bir OpenAPI dosyanız varsa, endpoint’leri elle yeniden oluşturmak yerine Apidog’a içe aktararak mock URL’leri daha hızlı oluşturabilirsiniz.

Sıkça sorulan sorular

Mocky ücretsiz mi?

Evet. Mocky ücretsiz ve açık kaynaklıdır. Apache 2.0 lisansı altında yayınlanmıştır ve mock yanıt oluşturmak için hesap gerekmez.

Tek bir sabit yanıttan fazlasına ihtiyacınız varsa Apidog gibi daha kapsamlı bir platform dinamik veri ve ekip özellikleri sunar.

mocky.io ile mock server arasındaki fark nedir?

Mocky URL’si tek bir önceden tanımlanmış yanıttır.

Mock server ise birçok endpoint’i, istek eşleştirmeyi ve isteğe göre değişebilen verileri destekleyerek tüm API davranışını simüle eder.

Kavrama yeniyseniz taklit API’nin ne olduğunu anlatan rehbere bakabilirsiniz.

Mocky ile özel durum kodu ve başlık döndürebilir miyim?

Evet. Mocky’nin temel kullanım amacı budur.

Şunları ayarlayabilirsiniz:

Status: 404
Header: Content-Type: application/json
Body: {"message":"User not found"}
Enter fullscreen mode Exit fullscreen mode

Ancak bu yanıt her istekte aynı döner. İsteğe göre farklı yanıt üretmeniz gerekiyorsa Mocky yetersiz kalır.

Mocky’den tam kapsamlı bir mock platformuna ne zaman geçmeliyim?

Aşağıdakilerden birkaçına ihtiyacınız olduğunda geçiş yapmanız mantıklıdır:

  • Birden fazla endpoint
  • Dinamik veya gerçekçi veri
  • Koşullu yanıtlar
  • OpenAPI tabanlı mock
  • Ekip çalışma alanı
  • Ortam veya proje bazlı düzen

Bunlara ihtiyacınız yoksa Mocky’nin basitliği avantajdır.

Sonuç

Mocky, bir URL’nin arkasına özel bir HTTP yanıtı koymak için hızlı, ücretsiz ve pratik bir araçtır. Tek statik yanıtlar, hata senaryoları ve küçük ön uç testleri için yeterlidir.

Ancak API’niz büyüdükçe dinamik veri, istek eşleştirme, çoklu endpoint yönetimi ve ekip işbirliği ihtiyacı ortaya çıkar. Bu noktada Apidog daha sürdürülebilir bir mock ortamı sağlar.

İlk mock URL’nizi oluşturmak ve proje büyüdükçe aynı ortamı kullanmaya devam etmek için Apidog’u indirin.

Top comments (0)