Belirli bir JSON gövdesi, durum kodu ve üstbilgiler döndüren sahte bir API uç noktasına bir sunucu kurmadan ihtiyaç duyduysanız, muhtemelen Mocky'yi aramışsınızdır. Bu kılavuz, Mocky'nin ne olduğunu, nasıl kullanılacağını ve ne zaman yetersiz kalacağını açıklar. Daha geniş bir bakış açısı isterseniz, karşılaştırmalı çevrimiçi API taklit araçları derlememiz bu alanı kapsar ve Mocky'nin kendi açık kaynak deposu temelleri doğrular.
Mocky Nedir?
Mocky, özel HTTP yanıtları oluşturmak için ücretsiz, açık kaynaklı bir web hizmetidir. Bir yanıtı tarayıcınızda tasarlarsınız, Mocky size benzersiz bir URL verir ve o URL'ye yapılan her istek, tam olarak tanımladığınız şeyi döndürür. Yazılacak bir arka uç veya barındırılacak bir sunucu yoktur.
Julien Lafont tarafından geliştirilmiş ve Apache 2.0 lisansı altında yayınlanmıştır. Barındırılan sürümü mocky.io adresinde bulunur ve kodu halka açık olduğundan, kendi örneğinizi çalıştırmak isterseniz onu kendi başınıza barındırabilirsiniz.
Temel fikir basit. "Bir URL'nin arkasında bir yanıt tasarlıyorsunuz." Ürünün tamamı bu ve bu odak noktası en büyük gücü.
Neleri Yapılandırabilirsiniz
Mocky, istemci testi için önemli olan bir HTTP yanıtının bölümlerini ayarlamanıza olanak tanır:
- Durum kodu, böylece isteğe bağlı olarak bir
200, bir404veya bir500döndürebilirsiniz. - Yanıt gövdesi, genellikle JSON, ancak herhangi bir metin yükü çalışır.
- HTTP başlıkları, içerik türü ve özel başlıklar dahil.
- Yanıt gecikmesi, böylece yavaş bir ağı veya gecikmeli bir yukarı akışı simüle edebilirsiniz.
Kaydettikten sonra, Mocky yanıtı depolar ve size kalıcı bir URL verir. Bu URL'yi ön uç kodunuza, testinize veya HTTP istemcinize yapıştırırsınız ve işiniz biter.
Hızlı bir örnek
Arka ucunuzun hazır olmadığını, ancak ön ucunuzun işlemek için bir kullanıcı nesnesine ihtiyacı olduğunu varsayalım. Mocky tasarımcısını açar, durumu 200 olarak ayarlar, Content-Type: application/json olarak ayarlar ve şöyle bir gövde yapıştırırsınız:
{
"id": 42,
"name": "Ada Lovelace",
"role": "admin"
}
Mocky, https://run.mocky.io/v3/<some-id> gibi bir URL döndürür. Uygulamanızı ona yönlendirin ve her istek o kullanıcıyı geri alır. Bu kalıba daha geniş bir bakış için, bir sunucu kurmadan çevrimiçi API'leri nasıl taklit edeceğimize ilişkin açıklayıcımıza bakın.
Mocky doğru seçim olduğunda
İhtiyaçlarınız küçük ve tek seferlik olduğunda Mocky parlar:
- Hızlı, hesap gerektirmeyen tek bir statik yanıt istersiniz.
- Sabit bir yükü bir ekip arkadaşınızla veya bir destek biletiyle paylaşıyorsunuz.
- Bir hata raporu için 500 dahili sunucu hatası yanıtı gibi tek bir hata durumunu yeniden üretiyorsunuz.
- Yanıtın isteğe göre değişmesine ihtiyacınız yoktur.
Bu işler için Mocky'yi yenmek zordur. Ücretsizdir, bir tarayıcıda yüklenir ve bir dakikadan kısa sürede çalışan bir URL'ye sahip olabilirsiniz. Bu boyuttaki bir sorunu aşırı mühendislikle ele almayın.
Mocky'nin dezavantajları
Mocky'yi harika yapan sadelik, onu aynı zamanda sınırlar. Her Mocky URL'si tek bir sabit yanıttır. Projeniz büyüdükçe, bu model birkaç öngörülebilir şekilde yetersiz kalır.
- Dinamik veri yok. Her arayan aynı gövdeyi alır.
/users/1için farklı bir kullanıcı ve/users/2için farklı bir kullanıcı döndüremezsiniz ve gerçekçi, çeşitli veriler oluşturamazsınız. - İstek eşleştirme yok. Mocky, sorgu parametreleri, yol değerleri veya istek gövdeleri üzerinde dallanmaz. Tek bir URL, tek bir yanıt.
- Gevşek organizasyon. Gerçek bir API'nin onlarca uç noktası vardır. Bunları ayrı Mocky bağlantılarından oluşan bir yığın olarak yönetmek hızla karmaşıklaşır.
- Zayıf işbirliği. Sahte API'leriniz etrafında paylaşılan bir çalışma alanı, sürüm kontrolü veya ekip izinleri yoktur.
- Şema bağlantısı yok. Sahte API'niz ve OpenAPI spesifikasyonunuz farklı yerlerde bulunur, bu nedenle birbirinden uzaklaşırlar.
Bunlardan iki veya üçüyle karşılaştığınızda, tek yanıtlı bir araca sığmaz hale gelmişsiniz demektir. Tam teşekküllü bir taklit platformuna geçiş zamanıdır. Bütçe dengesini değerlendiriyorsanız, ücretsiz ve ucuz API taklit sunucuları rehberimiz seçenekleri sunar.
Yaygın bir tetikleyici ön uç ekibidir. Bir geliştirici kullanıcı nesnesini taklit eder, diğeri sipariş listesini taklit eder, üçüncüsü kimlik doğrulama akışını taklit eder. Mocky ile bunlar, paylaşılan bir temel URL'si olmayan ve ortamları değiştirmenin bir yolu olmayan üç bağımsız bağlantıdır. Gerçek bir taklit sunucuyla, hepsi tek bir ana bilgisayar altında yanıt veren tek bir projedeki üç uç noktadır ve hazırlık ve üretim verileri arasında tek bir yerden geçiş yapabilirsiniz.
En iyi Mocky alternatifi: Apidog
Apidog, Mocky'nin en iyi özelliğini, yani paylaşılabilir bir URL'nin arkasındaki özel bir yanıtı korur, ardından Mocky'nin dışarıda bıraktığı şeyleri ekler: birçok uç noktada kalıcılık, şema tabanlı veri, dinamik yanıtlar ve ekip işbirliği. Uç noktaları tasarlarsınız ve Apidog, tıpkı Mocky gibi, ancak gerçek API tasarımınıza bağlı olarak özel durum kodları, başlıklar ve JSON gövdeleri döndüren barındırılan bir taklit URL'si oluşturur.
İşte dürüst fark. Mocky "bana hemen ücretsiz, tek bir sabit yanıt ver" diye yanıtlar. Apidog ise "bana projemle birlikte büyüyen, tüm bir API'nin inandırıcı bir taklidini ver" diye yanıtlar.
Apidog'un Mocky kullanım durumuna ekledikleri:
- Akıllı taklit ve yapay zeka tarafından oluşturulan veriler. Tek bir gövdeyi kodlamak yerine, Apidog alan adlarınızdan ve şemanızdan gerçekçi değerleri çıkarabilir, böylece
emailbir e-posta vecreatedAtbir tarih döndürür. - Faker.js desteği. Her çağrıda çeşitli, gerçekçi yükler için dinamik taklit verileri oluşturmak için Faker.js'yi kullanabilirsiniz.
- Gelişmiş taklit kuralları. Sorgu parametrelerine veya istek içeriğine göre farklı yanıtlar döndürme, bu Mocky'nin yapamadığı istek eşleştirmedir.
- Şema öncelikli taklit. Taklit, OpenAPI tasarımınızdan oluşturulur, böylece ikisi senkronize kalır.
- Ekip çalışma alanları. Taklitler, tek seferlik bağlantılar arasında dağılmak yerine, sürüm kontrolü ve gerçek zamanlı senkronizasyon ile paylaşılan bir projede yaşar.
Basit kısmı hala elde edersiniz. Bir URL'nin arkasında sabit bir JSON gövdesiyle 200 döndüren tek bir uç noktaya mı ihtiyacınız var? Apidog bunu da yapar ve tek bir tıklamayla ekibinizle paylaşabilirsiniz.
Mocky ve Apidog'a bir bakışta
| Özellik | Mocky | Apidog |
|---|---|---|
| Bir URL'nin arkasında özel durum, başlıklar, 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ı taklit) | Hayır | Evet |
| İstek eşleştirme / koşullu kurallar | Hayır | Evet |
| Tek projede birden fazla uç nokta | Hayır | Evet |
| Şema tabanlı (OpenAPI) taklitler | 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 rakibi yan yana karşılaştırmak isterseniz, en iyi API taklit araçları listemiz ve REST uç nokta taklit derlememiz daha derinlemesine inceler.
Apidog'da bir Mocky URL'sini nasıl değiştirebilirsiniz
Tek bir Mocky bağlantısından geçiş yapmak hızlıdır:
- Apidog'u indirin ve bir proje oluşturun.
- Örneğin
GET /users/42gibi bir uç nokta ekleyin. - Yanıtı tanımlayın: durum kodunu ayarlayın, başlıkları ekleyin ve Mocky'ye yazacağınız aynı alanları içeren JSON gövdesini yazın.
- Taklidi etkinleştirin. Apidog, o uç nokta için barındırılan bir taklit URL'si oluşturur.
- Ön ucunuzu veya testinizi yeni URL'ye yönlendirin.
Buradan itibaren, ihtiyaç duyduğunuzda ekstraları, dinamik verileri, koşullu kuralları, daha fazla uç noktayı katmanlandırabilirsiniz. Gelişmiş özelliklerini ilk günden kullanmak zorunda değilsiniz.
Geçiş nadiren bir kerede yapılır. Çoğu ekip, önemli uç noktaları Apidog'da yeniden oluştururken mevcut Mocky bağlantılarını çalışır durumda tutar, ardından proje tek bir yerde toplandığında eski URL'leri emekliye ayırır. Apidog bir OpenAPI dosyasını okuyabildiği için, zaten bir spesifikasyonunuz varsa, her yanıtı elle yeniden oluşturmak yerine onu içe aktarabilir ve her uç nokta için anında taklit URL'leri alabilirsiniz.
Sıkça sorulan sorular
Mocky ücretsiz mi?
Evet. Mocky, Apache 2.0 lisansı altında ücretsiz ve açık kaynaklıdır ve bir taklit oluşturmak için bir hesaba ihtiyacınız yoktur. Yanıtlar sunucu tarafında depolanır, böylece aldığınız URL canlı kalır. Tek bir sabit yanıttan daha fazlasına ihtiyacınız varsa, Apidog gibi daha kapsamlı bir platform size dinamik veri ve ekip özellikleriyle ücretsiz bir katman sunar.
mocky.io ile taklit sunucu arasındaki fark nedir?
Bir Mocky URL'si tek bir önceden tanımlanmış yanıttır. Bir taklit sunucu, birçok uç nokta, istek eşleştirme ve isteğe göre değişebilen verilerle tüm bir API'yi simüle eder. Bu kavrama yeniyseniz, taklit API'nin ne olduğuna dair açıklayıcımız, konuyu baştan sona anlatır.
Mocky ile özel bir durum kodu ve başlıklar döndürebilir miyim?
Evet. Mocky tam da bunun içindir. Durum kodunu ayarlarsınız, istediğiniz başlıkları eklersiniz, gövdeyi yazarsınız ve Mocky tüm bunları tek bir URL'den sunar. Sınırlama, isteğe bakılmaksızın her zaman aynı yanıt olmasıdır.
Mocky'den tam teşekküllü bir taklit platformuna ne zaman geçmeliyim?
Birden fazla sabit yanıta ihtiyacınız olduğunda geçiş yapın: dinamik veya gerçekçi veriler, koşullu yanıtlar, birlikte organize edilmiş çeşitli uç noktalar veya ekibiniz için paylaşılan bir çalışma alanı. O zamana kadar, Mocky'nin sadeliği bir kusur değil, bir özelliktir.
Sonuç
Mocky, bir URL'nin arkasına özel bir HTTP yanıtı koymak için temiz, ücretsiz bir yoldur ve hızlı, statik ihtiyaçlar için doğru araçtır. Dinamik verilere, istek eşleştirmeye, birçok uç noktaya veya ekip işbirliğine ihtiyacınız olduğunda, o tek yanıt modeli yetersiz kalır.
İşte Apidog burada devreye giriyor. Aynı "bir URL'nin arkasında yanıt tasarla" işini kapsar, ardından API'niz büyüdükçe şema tabanlı, dinamik, işbirlikçi taklitlere dönüşür. İlk taklit URL'nizi ücretsiz olarak oluşturmak ve projeniz büyüdükçe kullanmaya devam etmek için Apidog'u indirin.
