Sıkı bir son teslim tarihiniz var. Ön uç ekibi geliştirmeye hazır, ancak arka uç API'si hala tasarım aşamasında. Ya da uygulamanızın API arızalarını, yavaş yanıtları veya belirli uç durumları nasıl ele aldığını test ediyor olabilirsiniz. Gerçekçi API yanıtlarına ihtiyacınız var, ancak harici bir bulut hizmetine güvenemezsiniz veya güvenmek istemezsiniz.
İşte bu noktada kendi kendine barındırılan API sahte sunucuları (mock servers) devreye giriyor. API'leri kendi altyapınızda simüle etmek için size tam kontrol, gizlilik ve esneklik sağlarlar. İster hava boşluklu (air-gapped) bir kurumsal ortamda geliştirme yapıyor olun, ister veri gizliliği konusunda endişeli olun, ister sadece her şeyin hız için yerel olarak çalışmasını isteyin, sahtelerinizi kendi kendine barındırmak güçlü bir stratejidir.
Ancak bu kadar çok seçenek varken, doğru olanı nasıl seçeceksiniz? Özel bir araç mı kullanmalısınız, yoksa kendiniz mi bir şeyler inşa etmelisiniz?
Geliştirme iş akışınız için harici hizmetlere bağımlı olmaktan sıkıldıysanız, bu kılavuz tam size göre. Kendi kendine barındırılan sahte sunucu ortamını keşfedecek, en iyi rakipleri karşılaştıracak ve ekibiniz için mükemmel uyumu bulmanıza yardımcı olacağız.
Kuruluşunuzun tüm API belirtimlerini, sahte verileri ve trafiği kendi altyapınızda tutması gerekiyorsa (gizlilik, uyumluluk veya dahili ağ gereksinimleri nedeniyle), Apidog'un kendi kendine barındırılan sahte çalıştırıcısını doğrudan sunucularınızda veya özel bulutunuzda çalıştırabilirsiniz.
Şimdi kendi kendine barındırılan seçeneklerinizi keşfedelim!
1. WireMock: Kurumsal Sınıf Sahte Sunucu

Genel Bakış: WireMock, şüphesiz mevcut en güçlü ve özellik bakımından eksiksiz açık kaynaklı sahte sunucudur. Java tabanlıdır ancak bağımsız bir sunucu olarak çalıştırılabilir veya testlerinize gömülebilir.
Temel Özellikler:
- Kaydet ve Oynat: Gerçek API'lerden gelen trafiği yakalayın ve sahte olarak tekrar oynatın.
- Dinamik Yanıt Şablonlama: Dinamik yanıtlar oluşturmak için Handlebars veya diğer şablon motorlarını kullanın.
- Durumlu Davranış: Birden çok istekteki durum değişikliklerini simüle edin (örn. bir kaynağın oluşturulup ardından alınması).
- Hata Enjeksiyonu: Ağ arızalarını, gecikmeleri ve yanlış biçimlendirilmiş yanıtları kolayca simüle edin.
- İstek Eşleştirme: Başlıklarda, gövde içeriğinde (JSON, XML), sorgu parametrelerinde ve çerezlerde inanılmaz esnek eşleştirme.
WireMock ne için harika:
- Tam kontrol
- Yüksek düzeyde özelleştirilebilir sahteler (stubs)
- Gecikmeleri, hataları, durumlu akışları simüle edebilir
- Mikro hizmetler için harika
- Java, Docker veya bağımsız olarak çalışır
Dezavantajları:
- Grafiksel kullanıcı arayüzü yok
- İşbirliği yok
- Otomatik belge oluşturma yok
- Teknik olmayan kullanıcılar için zor
- Yalnızca REST (yerel GraphQL veya WebSocket desteği yok)
Dağıtım Seçenekleri:
- Bağımsız JAR:
java -jar wiremock-standalone.jarile çalıştırın. - Docker Konteynerı:
docker run -it --rm -p 8080:8080 wiremock/wiremock - Testlere Gömülü: Java, JUnit veya Spring Boot testlerinizde bir kütüphane olarak kullanın.
En İyisi: Endüstriyel güçte sahteleme ihtiyacı olan ekipler, özellikle Java/Kotlin ekosistemlerinde veya karmaşık test senaryoları için.
2. MockServer: Protokolden Bağımsız Güç Merkezi
Genel Bakış: MockServer, sadece HTTP'yi değil, aynı zamanda HTTPS'yi, WebSockets'ı ve hatta SMTP'yi sahteleme konusunda özellikle güçlü olan başka bir Java tabanlı rakiptir.
Temel Özellikler:
- Çoklu Protokol Desteği: HTTP, HTTPS, WebSockets'i kutudan çıkar çıkmaz sahteler.
- Beklenti Yönetimi: Hangi isteklerin hangi yanıtları döndürmesi gerektiğini ayarlamak için açık API.
- JavaScript Şablonlama: Dinamik yanıtlar oluşturmak için JavaScript kullanın.
- Doğrulama: Test sırasında belirli isteklerin yapıldığını doğrulayın.
- Proxy Modu: Trafiği kaydetmek veya değiştirmek için bir proxy olarak hareket edebilir.
Dağıtım:
- Docker:
docker run -d --rm -p 1080:1080 mockserver/mockserver - Java: Bağımsız olarak çalıştırın veya testlere gömün.
En İyisi: Basit REST API'lerinin (WebSockets vb.) ötesinde sahteleme yapması gereken ekipler veya temiz beklenti API'sini sevenler için.
3. JSON Server: Sıfır Kodlu REST Sahteleme
Genel Bakış: JSON Server, tek bir JSON dosyasından 30 saniyeden kısa sürede tam bir sahte REST API oluşturan son derece basit bir Node.js aracıdır.
Artıları:
- Çok hafif
- Sıfır yapılandırma
- Küçük prototipler için harika
Eksileri:
- Gerçek API iş akışları için uygun değil
- İşbirliği yok
- Ortam sistemi yok
- Otomasyon yok
Nasıl çalışır: Bir db.json dosyası oluşturursunuz:
{
"posts": [
{ "id": 1, "title": "First Post", "author": "Jane" }
],
"comments": [
{ "id": 1, "body": "Great post!", "postId": 1 }
]
}
Ardından json-server --watch db.json komutunu çalıştırın. Anında REST uç noktalarınız olur:
GET /postsGET /posts/1POST /postsPUT /posts/1DELETE /posts/1GET /posts/1/comments(ilişki)
En İyisi: Hızlı, sıfır yapılandırmalı bir REST API'ye ihtiyaç duyan ön uç geliştiricileri için. Karmaşık senaryolar için o kadar esnek değildir ancak kurulumu inanılmaz derecede hızlıdır.
4. Postman Sahte Sunucusu (Kendi Kendine Barındırılan)
Genel Bakış: Postman bulut özellikleriyle bilinse de, yerel olarak çalıştırabileceğiniz Postman'ın açık kaynaklı sahte sunucusunu sunarlar.
Nasıl çalışır: API'nizi bir Postman Koleksiyonunda tanımlarsınız, ardından Newman CLI'yi (Postman'ın komut satırı koleksiyon çalıştırıcısı) bir sahte sunucu uzantısıyla kullanırsınız.
Temel Özellikler:
- Postman Koleksiyonlarından Yararlanın: Ekibiniz API tasarımı/testi için zaten Postman kullanıyorsa, bu doğal bir uyumdur.
- Örnek Tabanlı: Yanıtlar, koleksiyonunuza kaydettiğiniz örneklere dayanır.
- CI/CD ile Entegrasyon: İş hattınızda Newman aracılığıyla çalıştırılabilir.
Dağıtım: Node.js, Newman ve sahte sunucu modülünü içeren daha karmaşık kurulum.
En İyisi: Halihazırda Postman ekosistemine derinden yatırım yapmış ve sahtelemeyi kendi bünyesinde yapmak isteyen ekipler için.
5. Prism (Stoplight)

Genel Bakış: Prism, özellikle OpenAPI (eski adıyla Swagger) belirtimleri için oluşturulmuş Stoplight'tan açık kaynaklı bir sahte sunucudur.
Temel Özellikler:
- OpenAPI Odaklı: İstekleri OpenAPI belirtiminize göre doğrular ve uygun hataları döndürür.
- Dinamik Örnekler: Şemanıza göre gerçekçi sahte veriler (örn. rastgele e-posta adresleri, isimler) oluşturabilir.
- Proxy Modu: İstemciniz ile gerçek API arasında bir doğrulama proxy'si olarak hareket edebilir.
- HTTP Sahteleme: Farklı HTTP davranışlarını simüle eder.
Faydaları:
- Belirtiminize tam olarak uyar
- İstekleri doğrulayabilir
- CLI tabanlı ve Docker'a hazır
- CI/CD ile iyi çalışır
Sınırlamalar:
- Kullanıcı arayüzü yok
- İşbirliği yok
- Gelişmiş sahteleme mantığı yok
- Teknik olmayan kullanıcılar için ideal değil
Dağıtım: Bir CLI aracı veya Docker konteynerı olarak mevcuttur.
docker run --rm -it -p 4010:4010 stoplight/prism:4 mock -h 0.0.0.0 <https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.yaml>
En İyisi: OpenAPI/Swagger ile API öncelikli tasarım uygulayan ve belirtimle uyumlu sahteleme isteyen ekipler için.
6. Mountebank
Genel Bakış: Mountebank benzersiz bir yaklaşım benimser. Sadece bir HTTP sahte sunucusu değildir; herhangi bir protokolü genişleterek sahteleme yapabilen bir test çiftidir.
Temel Özellikler:
- Çoklu Protokol: HTTP, HTTPS, TCP ve SMTP için çekirdek destek. Diğerleri eklenebilir.
- Betiklenebilir: Karmaşık yanıtlar için özel JavaScript/Node.js mantığı enjekte edin.
- Taklitçiler (Imposters): Her sahte, kendi bağlantı noktası ve protokolü olan bir "taklitçi" olarak adlandırılır.
- Yüklemler (Predicates): Gelişmiş istek eşleştirme mantığı.
Dağıtım: Node.js uygulaması, bir hizmet olarak çalışır.
En İyisi: HTTP dışındaki protokolleri sahtelemesi gereken veya betikleme yoluyla aşırı esneklik isteyen ekipler için.
7. Mirage JS (Ön Uç Odaklı Sahte Sunucu)

Mirage aşağıdaki teknolojileri kullanan ön uç geliştiricileri için tasarlanmıştır:
- React
- Vue
- Svelte
- Ember
- Next.js
Ön uç uygulamanızın içinde bir sahte API oluşturur.
Artıları:
- Ön uca yoğunlaşan ekipler için harika
- Çevrimdışı çalışır
- UI geliştirmeyle doğrudan entegre olur
- Durumlu sahtelere izin verir
Eksileri:
- Gerçek bir ağ sahtesi değil
- Arka uç veya QA için ideal değil
- Yalnızca ön uç katmanında bulunur
Apidog'u Kendi Kendine Barındırılan Sahte Sunucu ve Daha Fazlası Olarak Kullanma

Çoğu sahte sunucu aracı yalnızca sahtelemeye odaklanır. Sahte sunucular, API tasarımı, işbirliği, hata ayıklama, belge oluşturma, test etme ve otomasyon içeren eksiksiz bir API platformu arıyorsanız, Apidog zirvede yer alıyor.
Apidog'un en önemli güçlerinden biri, her ikisini de desteklemesidir:
Bu nedenle, özel, izole sahteleme ihtiyacı olan kuruluşlar için Apidog'un kendi kendine barındırılan sahte çalıştırıcısı, bulut platformlarının tüm avantajlarını kendi altyapınızda çalıştırma imkanı sunar.
Apidog farklıdır.
Eklerin tüm API yaşam döngüsünü yönetmelerine yardımcı olur, buna dahil olanlar:
- API tasarımı
- API belgelendirme
- API testi
- Sahte oluşturma
- İşbirliği
- Ortamlar ve değişkenler
- CI/CD iş akışları
- İzinler/roller
- Global ekip senkronizasyonu
- Kendi kendine barındırılan sahte ve bulut sahte seçenekleri
Apidog'un Sahteleme Yetenekleri
- API tanımlarından otomatik olarak oluşturulan sahte yanıtlar
- Dinamik ve kural tabanlı yanıt şablonları
- Rastgele veri üreteçleri (örn. isim, e-posta, konum)
- Çoklu ortam sahteleme
- Entegre ekip işbirliği
- Kendi kendine barındırılan çalıştırıcı sahte seçeneği
- Bulut sahte seçeneği
- Rol tabanlı erişim kontrolü
- Sıfır kodlu veya gelişmiş betik tabanlı sahteler
Kendi kendine barındırılan çalıştırıcı, aşağıdaki gereksinimleri olan ekipler için mükemmeldir:
- Şirket içi dağıtımlar
- Özel bulut ortamları
- Dahili geliştirme ağları
- Son derece hassas veri iş akışları
- Mikro hizmetler için büyük ölçekli sahteleme
Araçları bir araya getirmek yerine, Apidog size tek bir platform sunar:
Tasarım → Sahtele → Test Et → Belgele → Paylaş
tümü birleşik bir ekosistemde gerçekleşir.
Büyük ekipler, kurumsal ihtiyaçlar veya küresel mühendislik kuruluşları için bu büyük bir avantajdır.
Neden Kendi Kendine Barındırılan Bir Sahte Sunucu Seçmelisiniz?
Kendi kendine barındırılan bir API sahte sunucusu, kendi altyapınızda (şirket içinde, şirketinizin özel bulutunda, bir VM'de veya Docker içinde) çalıştırdığınız, API uç noktaları için sahte yanıtlar döndüren bir hizmettir.
Belirli araçlara bakmadan önce, neden bir SaaS çözümü yerine kendi kendine barındırmayı tercih edebileceğinizi anlayalım.
1. Veri Gizliliği ve Güvenliği
Bu, birçok kuruluş için en büyük nedendir. Kendi kendine barındırdığınızda, API belirtimleriniz, sahte verileriniz ve trafiğiniz ağınızdan asla ayrılmaz. Bu, aşağıdakiler için çok önemlidir:
- Sağlık hizmetleri uygulamaları (HIPAA uyumluluğu)
- Hassas verilere sahip finansal hizmetler
- Devlet veya savunma projeleri
- Tescilli veya düzenlemeye tabi verilerle çalışan herhangi bir ekip
2. Çevrimdışı Geliştirme
Uçakta, trende veya internetin güvenilmez olduğu bölgelerde geliştiriciler çalışmaya devam edebilir. Sahte sunucunuz dizüstü bilgisayarınızda yerel olarak çalışır.
3. Tam Kontrol ve Özelleştirme
Tüm yığına sahipsiniz. Şunları yapabilirsiniz:
- Gerekirse kaynak kodunu değiştirin (açık kaynak araçlarla)
- Dahili CI/CD işlem hattınızla derinlemesine entegre olun
- Ağ yapılandırmasını, güvenlik duvarlarını ve erişimi tam olarak istediğiniz gibi ayarlayın
- %100 kullanılabilirlik sağlayın (üçüncü bir tarafın çalışma süresine bağımlılık yok)
4. Maliyet Öngörülebilirliği
Kullanıma dayalı sürpriz aylık faturalar yok. Altyapınıza dağıtıldıktan sonra, marjinal maliyet minimumdur.
5. Performans
Yerel geliştirme için ağ gecikmesi ortadan kalkar. Sahte yanıtlarınız milisaniyeler içinde geri gelir.
Sonuç: Kontrol Aracılığıyla Güçlendirme
Kendi kendine barındırılan API sahte sunucuları, gücü tekrar elinize verir. Daha hızlı geliştirme, daha güvenilir test etme ve daha fazla gizlilik sağlarken tüm bağımlılıklarınızı dahili tutarlar.
İster JSON Server'ın basitliğini, ister WireMock'un sağlamlığını veya Prism'in belirtimle uyumluluğunu seçin, daha esnek ve bağımsız bir geliştirme iş akışına yatırım yapmış olursunuz.
Unutmayın, en iyi araç, ekibinizin mevcut iş akışına sorunsuz bir şekilde uyan ve belirli sorunlarınızı çözen araçtır. Basit bir kavram kanıtı ile başlayın, ekibinizden geri bildirim alın ve yineleyin. Gelecekteki kendiniz ve artık engellenmeyen ön uç geliştiricileriniz size teşekkür edecektir.
Birçok ekip için, Apidog gibi kapsamlı bir bulut platformuyla başlamak, modern API sahtelemesini anlamanın en hızlı yolunu sunar, bu da daha sonra kendi kendine barındırmanın ne zaman ve nasıl yapılacağı hakkında daha stratejik bir karar vermeyi sağlar.
