Başsız bir API sahte aracı, bir belirtimden veya yapılandırmadan API'nizin çalışan bir sahtesini oluşturur ve ardından herhangi bir pencereye tıklamaya gerek kalmadan komut satırından çalıştırır. İşte tam olarak bir CI hattının, bir Docker kapsayıcısının veya bir ön uç geliştirme betiğinin içinde ihtiyacınız olan şey budur. Bu kılavuz, sahte oluşturma için "başsız"ın ne anlama geldiğini açıklar, gerçek başsız seçenekleri (Prism, WireMock, Mockoon CLI) gösterir ve Apidog'un nerede devreye girdiğini kapsar. Önce kavramı öğrenmek isterseniz, sahte bir API'nin ne olduğu ile başlayın.
Bir API sahtesi için "başsız" ne anlama geliyor?
Bir sahte sunucu, sahte ama gerçekçi yanıtlarla HTTP isteklerine cevap verir, böylece gerçek arka uç var olmadan bir ön uç veya bir test paketi çalışabilir. "Başsız", sahte sunucunun grafik arayüz olmadan çalıştığı anlamına gelir. Bir komutla başlatılır, bir belirtim veya veri dosyasına yönlendirilir ve bir portu dinler.
Bu önemlidir, çünkü bir sahteye en çok ihtiyaç duyduğunuz yerler ekranın olmadığı yerlerdir:
- Test etmek için kararlı bir arka uca ihtiyaç duyan bir CI işi.
- Bir
docker-composeyığınındaki bir Docker kapsayıcısı. - Arka planda sahte sunucunun çalışmasını isteyen bir ekip arkadaşının terminali.
- Her çekme isteği için oluşturulan geçici bir önizleme ortamı.
Bir GUI sahte aracı, dizüstü bilgisayarınızda yanıtları tasarlamak için iyidir. Ancak o sahteye bir işlem hattında ihtiyaç duyduğunuz an, başsız bir moda ihtiyacınız vardır: bir CLI bayrağı, bir Docker görüntüsü veya herhangi bir işin erişebileceği barındırılan bir URL.
Belirtim Odaklı vs. Yapılandırma Odaklı Sahteler
Başsız sahte araçlar iki kampa ayrılır ve aradaki fark tüm iş akışınızı şekillendirir.
Belirtim odaklı araçlar, OpenAPI belgenizi okur ve doğrudan ondan yanıtlar sunar. Şema, doğru bilginin kaynağıdır. Belirtime bir alan eklerseniz, sahte sunucu onu döndürür. Bu, sahte sunucunun sözleşmeden fazla sapmamasını sağlayarak dürüst kalmasını sağlar.
Yapılandırma odaklı araçlar, yanıtları kendi formatlarında (JSON dosyaları, kaydedilmiş stublar, elle yazılmış kurallar) depolar. Esnektirler ve belirtimin kapsamadığı uç durumlar için iyidirler, ancak bu yapılandırmayı elle sürdürmeniz gerekir ve gerçek API'den sapabilir.
Çoğu ekip, sorunsuz durumlar için belirtim odaklı, garip durumlar için ise yapılandırma odaklı geçersiz kılmaları tercih eder. En iyi API sahte oluşturma kurulumları her ikisini de destekler.
Başsız sahte seçenekler, dürüstçe
İşte bilmeye değer araçlar. Her biri GUI olmadan çalışır ve her birinin gerçek güçlü yönleri vardır.
Prism (Stoplight)
Prism, bir OpenAPI 2/3 veya Postman Collection dosyasını tek bir komutla bir sahte sunucuya dönüştürür:
prism mock openapi.yaml

Varsayılan olarak http://127.0.0.1:4010 adresini dinler. Varsayılan olarak, belirtiminizdeki statik examples değerlerini döndürür. -d (dinamik) eklediğinizde Prism, şemadan rastgele ama geçerli veriler üretir ve x-faker uzantısı aracılığıyla Faker desteği sunar. Açık kaynaklı, hafif ve gerçekten belirtim odaklıdır. Sözleşmeniz tek bir OpenAPI dosyasında yaşıyorsa ve saf bir CLI sahte sunucu istiyorsanız, Prism güçlü bir seçimdir.
WireMock
WireMock, olgun, Java tabanlı bir HTTP sahte sunucudur. Bağımsız jar'ı çalıştırırsınız:
java -jar wiremock-standalone-3.x.x.jar --port 9099

Temel modeli stubbing'dir: JSON API veya JSON dosyaları aracılığıyla istek eşleştirme kuralları ve döndürdükleri yanıtları tanımlarsınız. Ayrıca gerçek bir hizmetten gelen trafiği kaydeder ve oynatır, bu da bir belirtiminiz olmadığında ancak yakalayabileceğiniz çalışan bir arka ucunuz olduğunda kullanışlıdır. WireMock, karmaşık istek eşleştirme, durum bilgisi olan senaryolar ve yoğun JVM yığınları için öne çıkar.
Mockoon CLI
Mockoon, başsız kullanım için bir yardımcı CLI'si olan bir masaüstü uygulamasıdır. CLI, oluşturduğunuz sahte ortamları sunucularda, CI'da veya masaüstü uygulamasını açamadığınız her yerde çalıştırır:
mockoon-cli start --data ./environment.json --port 3000

Resmi bir Docker görüntüsü ve kendi kendine yeten bir sahte görüntü için bir Dockerfile oluşturan bir dockerize komutuyla birlikte gelir. Mockoon, şablonlama, yanıt kuralları ve proxy modu ile yapılandırma odaklıdır (GUI'de ortamlar oluşturur, sonra onları başsız çalıştırırsınız). Görsel olarak tasarlamayı ve başsız dağıtımı tercih ediyorsanız iyi bir seçimdir.
Apidog sahte sunucu
Apidog, hepsi bir arada bir API platformudur ve sahte sunucusu varsayılan olarak şema odaklıdır. Bir API tanımladığınızda veya içe aktardığınızda, Apidog ek kurulum gerektirmeden bir sahte sunucu oluşturur. Smart Mock'u, gerçekçi veriler üretmek için alan adlarını ve türlerini okur: email, avatar, username, phone, date ve IP gibi şeyleri tanır ve bunları string yer tutucuları yerine anlamlı değerlerle doldurur. Tam kontrol için, {{$person.fullName}} veya {{$number.int(min=1,max=100)}} gibi Faker.js ifadelerini ve belirli istek koşulları için özel sahte kuralları kullanabilirsiniz.

Başsız kullanım için Apidog, herhangi bir CI işinin veya ekip arkadaşının yerel olarak hiçbir şey çalıştırmadan çağırabileceği bir Bulut Sahte URL'i (https://mock.apidog.com/...) sunar. Yerel bir sahte sunucu da 127.0.0.1 adresinde çalışır ve diğer makinelerin erişebilmesi için onu intranet IP'nize bağlayabilirsiniz. Sahte sunucu, API tasarımınızı, belgelerinizi ve testlerinizi içeren aynı projeden türediği için, ayrı bir yapılandırma dosyasına sapmak yerine sözleşmeyle uyumlu kalır.
Karşılaştırma
| Araç | Doğru Bilginin Kaynağı | Başsız Çalıştırma | Gerçekçi Veri | En İyisi |
|---|---|---|---|---|
| Prism | OpenAPI / Postman dosyası | prism mock spec.yaml |
Dinamik mod (-d) + x-faker |
Saf belirtim odaklı CLI sahtesi |
| WireMock | Stub kuralları / kayıtlar | Bağımsız jar | Yanıt şablonlama | Karmaşık eşleştirme, JVM yığınları, kaydet/oynat |
| Mockoon CLI | GUI ile oluşturulan ortamlar | mockoon-cli start + Docker |
Şablonlama yardımcıları | Görsel tasarım, başsız dağıtım |
| Apidog | Projedeki API şeması | Bulut Sahte URL'si + yerel sunucu | Smart Mock + Faker.js | Tasarım, belgeler ve testlere bağlı şema odaklı sahteler |
Tek bir kazanan yok. API'nizin tamamı tek bir OpenAPI dosyasıysa Prism en temizidir. WireMock istek eşleştirme derinliğinde kazanır. Görsel olarak oluşturmayı tercih ediyorsanız Mockoon harikadır. Apidog, sahte sunucuyu, sözleşmeyi, belgeleri ve testleri tek bir yerde isteyerek birbirinden sapmamasını isteyen ekipler için uygundur. Daha geniş bir alan için, en iyi API sahte araçları derlememize bakın.
CI'da başsız bir sahte sunucu çalıştırma
Desen tüm araçlarda aynıdır. Sahte sunucuyu başlatırsınız, testlerinizi ona yönlendirirsiniz ve sonra kapatırsınız.
Belirtim öncelikli bir CLI sahte sunucusu, bir işlem hattı adımında şöyle görünür:
# sahte sunucuyu arka planda başlat
prism mock ./openapi.yaml &
MOCK_PID=$!
# ön ucunuzu veya API testlerinizi http://127.0.0.1:4010 adresine karşı çalıştırın
npm test
# temizlik yap
kill $MOCK_PID
Apidog ile, Bulut Sahte URL'sine testleri yönlendirerek hiçbir şey çalıştırmayı atlayabilir veya aynı şekilde yerel bir sahte sunucu çalıştırabilirsiniz. Sahte sunucu, mevcut şemanızdan yanıt verir, böylece sözleşme değiştiğinde, sahte sunucu da onunla birlikte değişir.
Bir sonraki doğal adım, bu sahte sunucuya karşı komut satırından test yapmaktır. Apidog'un CLI'sı (apidog-cli) kendisi de başsızdır: apidog run, test senaryolarınızı CI'da yürütür, CSV veya JSON'dan veri odaklı çalıştırmaları destekler ve CLI, HTML veya JSON raporları yazar. Komut satırından bir REST API'sini test etme kılavuzu tüm döngüyü gösterir ve tam CLI kılavuzu bayrakları kapsar. Newman kullandıysanız, Apidog CLI vs Postman CLI karşılaştırması kavramları eşleştirir.
Sahteler ve AI kodlama ajanları
Kodu Cursor, Claude veya VS Code ile yazıyorsanız, aracınız bir sahte sunucunun arkasındaki API sözleşmesini bilmekten faydalanır. Apidog MCP sunucusu, bir AI ajanının API belirtimlerinizi doğrudan okumasına olanak tanır, böylece sahte sunucunuzun zaten sunduğu şemaya uygun istemci kodu iskeleti oluşturabilir. Bu, ajanın çıktısı ile sahte yanıtlarınızın aynı sözleşmeye işaret etmesini sağlar.
Sıkça Sorulan Sorular
Başsız bir sahte sunucu, bir sahte sunucuyla aynı mıdır?
Evet, tek bir detay dışında. Bir sahte sunucu, isteklere sahte yanıtlarla cevap veren herhangi bir süreçtir. "Başsız", bir GUI olmadan, bir komutla başlatılan veya bir URL'de barındırılan şekilde çalıştığını belirtir, böylece CI, Docker ve betiklerde çalışır. Buradaki her araç başsız çalışabilir.
OpenAPI belirtimimden başsız bir sahte sunucu oluşturabilir miyim?
Evet. Prism, OpenAPI'yi doğrudan okur ve Apidog, projenizdeki şemadan bir sahte sunucu oluşturur. Belirtim odaklı sahteler, ayrı ayrı bakımı yapılan bir yapılandırma yerine belirtimin söylediklerini yansıttığı için çaba tasarrufu sağlar ve sözleşmeye daha yakın kalır. Tam iş akışı için API sahte oluşturma kılavuzumuza bakın.
Başsız sahte sunucular, yer tutucular yerine nasıl gerçekçi veri döndürür?
Her aracın bir veri motoru vardır. Prism'in dinamik modu ve x-faker, şemadan değerler üretir. Apidog'un Smart Mock'u, email veya phone gibi alan adlarını anlamlı değerlerle eşleştirir ve daha hassas kontrol için Faker.js ifadeleri ekleyebilirsiniz. Bunlardan biri olmadan, sahteler genellikle boş dizeler ve sıfırlar döndürür.
Bir sunucu çalıştırmam mı gerekiyor, yoksa barındırılan bir sahte URL kullanabilir miyim?
Her ikisi de işe yarar. WireMock, Prism ve Mockoon CLI yönettiğiniz bir süreci çalıştırır. Apidog, herhangi bir CI işinin veya ekip arkadaşının yerel kurulum yapmadan çağırabileceği barındırılan bir Bulut Sahte URL'i ekler, bu da işlem hattından bir hareketli parçayı kaldırır.
Sonuç
Başsız bir API sahte aracı, yerel olarak tıklamanıza yardımcı olan bir sahte ile işlem hattınızda gerçekten çalışan bir sahte arasındaki farkı yaratır. Prism, WireMock ve Mockoon CLI, kendi çalışma tarzları için bunu iyi yapar. Sahte sunucunun, kendi başına duran ve sapan bir yapılandırma yerine API tasarımınıza, belgelerinize ve testlerinize bağlı kalmasını istiyorsanız, Apidog tüm bunları tek bir projede, yerel olarak veya barındırılan bir URL'den çalışan şema odaklı bir sahte ile tutar. Belirtiminizden bir sahte oluşturmak ve CI'nizi ona yönlendirmek için Apidog'u indirin.
