Ön uç ekibiniz engellendi: GET /users ve GET /orders henüz hazır değil, ancak kullanıcı arayüzünün liste, sayfalama ve boş durumları test etmek için gerçekçi verilere ihtiyacı var. JSON dosyalarını elle düzenlemek yerine, API şemanızdan otomatik mock üretin.
Apidog, uç nokta şemanızı okuyarak kod veya ek yapılandırma olmadan mock veri üretebilir. Bu özellik Akıllı Mock olarak adlandırılır: name alanı ad, email alanı e-posta, createdAt alanı tarih biçiminde veri üretir.
Bu yazıda şunları uygulayacaksınız:
-
GET /usersveGET /ordersiçin mock oluşturma - Mock URL'sini bulma ve çağırma
- Mock yanıt öncelik sırasını anlama
- Akıllı Mock yanlış tahmin ettiğinde çıktıyı yönlendirme
- Yerel, Bulut ve Çalıştırıcı Mock seçeneklerini seçme
Mocking kavramına giriş için API mocking'in ne olduğu ve nasıl çalıştığına bakın. Şema kısıtlamaları için JSON Schema dokümantasyonunu kullanabilirsiniz.
Akıllı Mock ne yapar?
Apidog mock motoru, API spesifikasyonunuza göre farklı yanıt türleri sunabilir:
- Akıllı Mock: Şemadan otomatik veri üretir.
- Yanıt Örneği: Tanımladığınız örnek gövdeyi döndürür.
- Özel yanıt: Belirli bir yanıtı doğrudan döndürür.
- Koşullu mocking: İstek parametrelerine göre farklı yanıt üretir.
- Mock scriptleri: İstekle ilişkili dinamik yanıtlar üretir.
Akıllı Mock, bu seçenekler içindeki sıfır yapılandırmalı varsayılandır. Uç noktanın bir yanıt şeması varsa, Apidog alan adlarını, türlerini ve JSON Schema kısıtlamalarını kullanarak veri üretir.
Bu yaklaşımın pratik faydası şudur: API sözleşmeniz değiştiğinde mock da aynı şemadan üretildiği için güncel kalır.
Başlamadan önce: yanıt şeması ekleyin
Akıllı Mock'un tek zorunlu gereksinimi, uç noktada tanımlı bir yanıt şemasıdır.
- API'yi Apidog'da tasarlıyorsanız, uç noktanın Response bölümüne şema ekleyin.
- Bir OpenAPI dosyası içe aktardıysanız, yanıt şemaları genellikle dosyayla birlikte gelir.
- Yanıt şeması yoksa, mock motorunun üretecek veri modeli olmaz.
Yerel Mock kullanacaksanız masaüstü istemcisi gerekir. Yerel Mock, Apidog Web üzerinde çalışmaz.
Adım adım: GET /users ve GET /orders
Örnek olarak küçük bir mağaza API'si oluşturalım.
1. GET /users yanıtını tanımlayın
GET /users uç noktasına aşağıdaki yanıt gövdesini veya eşdeğer şemayı ekleyin:
{
"id": 1024,
"name": "Amara Osei",
"email": "amara.osei@example.com",
"phone": "+1-415-555-0148",
"createdAt": "2026-03-11T09:24:00Z",
"isActive": true
}
Her alanın türünü açıkça tanımlayın:
| Alan | Önerilen tür |
|---|---|
id |
integer |
name |
string |
email |
string |
phone |
string |
createdAt |
string/date-time |
isActive |
boolean |
2. GET /orders yanıtını tanımlayın
Sipariş uç noktasını bir dizi döndürecek şekilde ayarlayın:
[
{
"orderId": "ORD-58210",
"userId": 1024,
"total": 84.5,
"currency": "USD",
"status": "shipped",
"createdAt": "2026-05-02T14:03:00Z"
}
]
Alan adı ve tür kombinasyonu ne kadar açıksa, Akıllı Mock'un ürettiği değerler o kadar anlamlı olur.
3. Mock URL'sini kopyalayın
Her uç nokta için otomatik bir mock URL'si oluşur:
- Tasarım modunda, uç noktanın altındaki API sekmesini açın.
- Hata Ayıklama modunda, Mock sekmesini açın.
- Kopyala düğmesiyle URL'yi alın.
Kopyalanan URL yalnızca adresi içerir. GET dışındaki HTTP yöntemleri veya istek gövdesi gerekiyorsa, çağrıyı yaparken bunları ayrıca göndermeniz gerekir.
Yerel Mock, varsayılan olarak 127.0.0.1:4523 üzerinde çalışır. Yol modu örneği:
http://127.0.0.1:4523/m1/{projectID}-{versionNo}-{serverNo}/users
Uç nokta kimliği ile çağrı yapmak için kimlik modu da kullanılabilir:
http://127.0.0.1:4523/m2/{projectID}-{versionNo}-{serverNo}/{endpointId}
Apidog masaüstü istemcisi açıkken Yerel Mock otomatik olarak başlar.
4. Mock uç noktasını çağırın
GET /users için:
curl http://127.0.0.1:4523/m1/1234567-0-0/users
Şemanıza uygun, aşağıdakine benzer bir yanıt alırsınız:
{
"id": 3187,
"name": "Diego Marchetti",
"email": "diego.marchetti@example.net",
"phone": "+1-628-555-0113",
"createdAt": "2026-01-27T18:41:22Z",
"isActive": true
}
Alan adlarının etkisini görebilirsiniz:
-
namegerçekçi bir ad üretir. -
emaile-posta biçiminde veri üretir. -
createdAttarih-zaman biçimine uyar. -
isActiveboolean değer üretir.
Her yeni istekte dinamik veriler yeniden oluşturulabilir. Bu, arayüzünüzün farklı uzunluklardaki adlar, değişen sayılar ve çeşitli durumlarla nasıl çalıştığını test etmek için faydalıdır.
GET /orders için:
curl http://127.0.0.1:4523/m1/1234567-0-0/orders
Bu çağrı, sipariş liste ekranınızda kullanabileceğiniz sipariş nesnelerinden oluşan bir dizi döndürür.
Akıllı Mock değerleri nasıl seçer?
Akıllı Mock, tek bir alan için veri üretirken aşağıdaki öncelik sırasını kullanır.
- Mock Alanı
- Özellik Adı Eşleştirme
- JSON Schema varsayımları
1. Mock Alanı
Bir alan için özel değer veya ifade tanımlarsanız, bu ayar en yüksek önceliğe sahiptir.
İki yaklaşım kullanabilirsiniz:
- Sabit değer: Her istekte aynı değeri döndürür.
- Faker ifadesi: Kontrollü ancak değişken veri üretir.
Örneğin, currency alanı her zaman USD olmalıysa sabit değer kullanın. status alanı için ise shipped, pending ve delivered değerleri üreten bir Faker ifadesi kullanabilirsiniz.
2. Özellik Adı Eşleştirme
Mock Alanı tanımlı değilse, Apidog alan adını yerleşik kurallarla eşleştirir.
Örneğin:
-
email→ e-posta -
name→ kişi adı -
phone→ telefon numarası -
createdAt→ tarih-zaman
Bu kurallar Mock Ayarları altında bulunur ve kendi eşleştirme kurallarınızı ekleyebilirsiniz.
3. JSON Schema
Alan adı bir kuralla eşleşmiyorsa, Akıllı Mock JSON Schema türüne ve kısıtlamalarına göre veri üretir.
Örneğin, tanınmayan bir string alanı genel bir metin değeri alabilir. Ancak minLength, maxLength, pattern, minimum, maximum veya enum gibi kısıtlamalar eklerseniz üretilen veri bu sınırlara uyar.
Akıllı Mock aşağıdaki JSON Schema kısıtlamalarını dikkate alır:
- Dize uzunluğu
- Enum değerleri
- Sayı aralıkları
- Dizi uzunlukları
Örneğin:
{
"type": "string",
"enum": ["pending", "shipped", "delivered"]
}
Bu şemaya sahip status alanı yalnızca bu üç değerden birini döndürür.
Dizi için de minimum öğe sayısı belirleyebilirsiniz:
{
"type": "array",
"minItems": 3
}
Bu durumda mock yanıtında en az üç öğe üretilir.
Apidog ayrıca farklı dil ve bölge formatlarında veri üretmek için mock yerellerini destekler. Japon pazarı için test yapıyorsanız, yereli değiştirerek ad ve adres formatlarını buna uygun üretebilirsiniz.
Akıllı Mock yanlış tahmin ettiğinde ne yapmalı?
Akıllı Mock bir çıkarım sistemidir. Örneğin:
-
skualanı yerleşik bir kuralla eşleşmeyebilir. -
totalalanı iki ondalıklı para değeri yerine sıradan bir sayı üretebilir.
Bu durumlarda aşağıdaki sırayla ilerleyin.
Önce şemayı sıkılaştırın
Çoğu durumda en doğru çözüm, şemaya daha fazla kısıtlama eklemektir.
{
"type": "number",
"minimum": 1,
"maximum": 1000
}
status için enum, total için minimum ve maksimum, sku için ise desen tanımlayabilirsiniz:
{
"type": "string",
"pattern": "^SKU-[A-Z0-9]{6}$"
}
Gerekirse Mock Alanı kullanın
Şema istediğiniz davranışı yeterince ifade etmiyorsa, alanın Mock Alanını yapılandırın.
-
currencyiçin sabitUSDdeğeri kullanın. - Değişken ancak kontrollü veri için Faker ifadesi kullanın.
Apidog'un Faker katmanı Mock.js ile benzer fikirler üzerine kuruludur. Sözdizimi ayrıntıları için Apidog'da Faker kullanımına bakın.
Tekrarlanan alanlar için eşleştirme kuralı ekleyin
sku gibi bir alan birçok uç noktada geçiyorsa, her alanı tek tek yapılandırmak yerine genel bir kural ekleyin:
- Ayarlar bölümünü açın.
- Genel Ayarlar > Özellik Ayarları > Mock Ayarları yoluna gidin.
- Yeni seçeneğine tıklayın.
- Alan adınızla eşleşen koşulu tanımlayın.
- Kullanılacak mock ifadesini ekleyin.
Bundan sonra proje genelindeki tüm sku alanları aynı kurala göre üretilir.
Mock öncelik sırası
Bir uç noktada birden fazla olası yanıt olduğunda, hangi yanıtın döneceği Proje Ayarları altındaki Mock Ayarları bölümünde bulunan Varsayılan mock yöntemi ayarına bağlıdır.
İki seçenek bulunur:
-
Önce Akıllı Mock:
Mock Beklentisi→Akıllı Mock -
Önce Yanıt örneği:
Mock Beklentisi→Yanıt Örneği→Akıllı Mock
Önemli kural: Koşulları eşleşen bir Mock Beklentisi, her zaman en yüksek önceliğe sahiptir.
Örneğin, userId=9999 için 404 dönen bir beklenti ayarlarsanız, varsayılan mock yönteminden bağımsız olarak bu yanıt döner.
Koşullu yanıtlar için Apidog'da koşullu API yanıtlarını mocklama rehberini inceleyin.
Pratik öncelik özeti:
Mock Beklentisi > Yanıt Örneği veya Akıllı Mock > Akıllı Mock yedeği
Yerel, Bulut ve Çalıştırıcı Mock seçimi
Mock'un nasıl üretildiği ile nerede çalıştığı farklı konulardır. Apidog üç barındırma seçeneği sunar.
Yerel Mock
- Bilgisayarınızda, Apidog masaüstü istemcisi ile çalışır.
- İstemci açıkken erişilebilir.
-
127.0.0.1:4523üzerinde dinler. - Apidog Web'de kullanılmaz.
Tek başınıza ön uç geliştiriyorsanız en hızlı seçenektir.
Bulut Mock
- Apidog sunucularında barındırılır.
- 7/24 erişilebilir.
- Varsayılan olarak kapalıdır.
- Ortam yönetimi üzerinden etkinleştirilir.
-
https://mock.apidog.comadresini ve aynım1/m2yol yapısını kullanır.
Ekip arkadaşlarınızın veya dağıtılmış önizleme ortamlarının mock'a erişmesi gerekiyorsa Bulut Mock kullanın. Bu seçenek üretim trafiği için değil, test amaçlıdır.
Çalıştırıcı Mock
- Kendi ekip altyapınızda barındırılır.
- Ekip genelinde paylaşılabilir.
- Mock'un dahili ağınızda kalması gereken ortamlar için uygundur.
Barındırılan mock seçeneklerini karşılaştırmak için çevrimiçi API mock araçları karşılaştırmamıza bakın. Bulut kurulumu için Apidog Bulut Mock kılavuzunu izleyin.
Yönlendirme tuzakları
Mock URL'leriyle çalışırken şu kurallara dikkat edin.
Yol / ile başlamalıdır
Doğru:
/orders
Baştaki eğik çizgi olmayan tam URL'ler mock ortamını kullanmaz. Baştaki / olmayan yollar yalnızca kimlik modunda çalışır.
Aynı yöntem ve yola sahip uç noktaları ayırın
İki API aynı HTTP yöntemini ve yolu kullanıyorsa, yol modu tek başına yeterli olmayabilir. Belirli bir uç noktayı hedeflemek için sorgu parametresi ekleyin:
?apidogApiId={endpointId}
Yenileme yeni veri üretebilir
Dinamik mock değerleri istek yenilendiğinde yeniden oluşturulur. Aynı yanıtı tekrar görüyorsanız, yeni istek yerine önbelleğe alınmış bir görünümle çalışıyor olabilirsiniz.
Apidog CLI ile sözleşmeyi güncel tutun
Mock sunucusu Yerel, Bulut veya Çalıştırıcı Mock üzerinden çalışır. Apidog CLI terminalden mock sunucusu başlatmaz veya barındırmaz.
CLI'ın rolü, mock'un arkasındaki API şemasını güncel tutmaktır.
Akıllı Mock çıktısı doğrudan uç nokta şemanızdan üretildiği için, sözleşme değiştiğinde şemayı da güncellemeniz gerekir. Apidog CLI; Cursor, Claude Code, Trae ve Codex gibi AI kodlama araçlarıyla birlikte uç noktaları ve şemaları oluşturma veya güncelleme iş akışlarında kullanılabilir.
Arka uç hazır olduğunda, aynı sözleşmeye karşı test senaryolarını CI içinde çalıştırabilirsiniz:
apidog run -t <scenario_id> -e <env_id> -r html,cli
CLI kurulumu:
npm install -g apidog-cli
Node.js v16 veya üzeri gereklidir. Ardından token ile giriş yapın:
apidog login --with-token <your-token>
CI/CD kurulumu için Apidog'u bir CI/CD boru hattında çalıştırma rehberini kullanın.
Sıkça Sorulan Sorular
Akıllı Mock için kod yazmam gerekir mi?
Hayır. Uç noktada bir yanıt şeması olduğu sürece Akıllı Mock otomatik veri üretir. Yalnızca belirli alanları geçersiz kılmak istediğinizde Faker ifadesi veya mock betiği kullanmanız gerekir. Temel kavramlar için mock API genel bakışına bakın.
Mock URL'im neden yanıt döndürmüyor?
En yaygın neden, uç noktada eksik yanıt şeması olmasıdır. Ayrıca şunları kontrol edin:
- Yol
/ile başlıyor mu? - Yerel Mock için Apidog istemcisi açık mı?
- Doğru proje, sürüm ve sunucu kimlikleri kullanılıyor mu?
Belirli bir alanın sabit değer döndürmesini nasıl sağlarım?
İlgili alanın Mock Alanını yapılandırın. Sabit değer her istekte aynı çıktıyı döndürür. Faker ifadesi ise kontrollü çeşitlilik sağlar. Mock Alanı, ad eşleştirmesi ve şema varsayımlarından daha yüksek önceliğe sahiptir.
Ekip arkadaşlarım Yerel Mock'a erişebilir mi?
Yerel ağ üzerinden erişim mümkün olabilir, ancak Apidog istemcisi açık kalmalıdır. Sürekli ve paylaşılabilir erişim için Bulut Mock'u etkinleştirin.
Hem Yanıt Örneği hem Akıllı Mock varsa hangisi döner?
Bu, varsayılan mock yöntemine bağlıdır:
- Önce Akıllı Mock seçeneğinde Akıllı Mock kullanılır.
- Önce Yanıt örneği seçeneğinde Yanıt Örneği kullanılır.
- Eşleşen bir Mock Beklentisi her iki seçeneği de geçersiz kılar.
Sonuç
Akıllı Mock, API şemanızı çalışan bir mock'a dönüştürür. Uygulama akışı basittir:
- Uç noktanın yanıt şemasını tanımlayın.
- API veya Mock sekmesinden mock URL'sini kopyalayın.
- URL'yi ön uçtan veya
curlile çağırın. - Çıktı yeterince doğru değilse şemayı sıkılaştırın, Mock Alanı ekleyin veya özellik adı kuralı tanımlayın.
- Koşullu senaryolar için Mock Beklentilerinin en yüksek önceliğe sahip olduğunu unutmayın.


Top comments (0)