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.
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ı
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,500gibi HTTP durum kodları - Yanıt gövdesi: Genellikle JSON, ancak herhangi bir metin yanıtı olabilir
-
HTTP başlıkları:
Content-Typeve ö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
Yanıt gövdesi:
{
"id": 42,
"name": "Ada Lovelace",
"role": "admin"
}
Mocky size şu formata benzer bir URL döndürür:
https://run.mocky.io/v3/<some-id>
Ö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
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/1ve/users/2iç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
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
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ı
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ğinemailalanı e-posta,createdAtalanı 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:
- Apidog’u indirin ve bir proje oluşturun.
- Yeni bir endpoint ekleyin. Örneğin:
GET /users/42
- Yanıtı tanımlayın:
- Durum kodu:
200 - Header:
Content-Type: application/json - Body:
- Durum kodu:
{
"id": 42,
"name": "Ada Lovelace",
"role": "admin"
}
- Mock özelliğini etkinleştirin.
- 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);
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"}
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)