DEV Community

Cover image for Apidog ile Paylaşılabilir Bulut Mock Sunucu Nasıl Barındırılır
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Apidog ile Paylaşılabilir Bulut Mock Sunucu Nasıl Barındırılır

Frontend ekibiniz tıkandı: tasarım onaylandı, ekranlar yarıda ve önünüzdeki tek engel henüz var olmayan API. Backend bir sprint uzakta olduğunda, UI’ın çağırabileceği gerçek bir servis olmaz; yerel taklitler ise yalnızca sizin makineniz açık olduğu sürece çalışır.

Apidog'u bugün deneyin

Bu boşluğu Apidog ve Cloud Mock kapatır. Tek bir makinede çalışan geçici bir taklit yerine, mock.apidog.com üzerinde 7/24 erişilebilir bir URL elde edersiniz. Frontend, QA ve iş ortağı geliştiriciler, backend kodu yayınlanmadan önce gerçekçi uç noktalarla çalışabilir. Daha fazla arka plan için API taklitinin ne olduğu ve ne zaman kullanılacağına göz atın. İsteklerin nasıl işlendiğini hatırlamak için MDN HTTP istek/yanıt modeli de yararlı bir referanstır.

Cloud Mock Nedir ve Yerel Taklitler Neden Yetersiz Kalır?

Apidog, tasarladığınız API uç noktaları için taklit yanıtlar oluşturur. Varsayılan yerel taklit, Apidog örneğiniz üzerinden çalışır ve yalnızca makineniz açıkken yanıt verir. Tek başına hata ayıklama için yeterlidir; ancak başka bir geliştirici, QA ortamı veya iş ortağı aynı URL’ye bağımlı olduğunda kırılgan hale gelir.

Cloud Mock, takliti kişisel bilgisayarınızdan bağımsız hale getirir. Uç nokta Apidog’un barındırılan hizmetinde çalışır; sizin veya ekip arkadaşlarınızın bilgisayarları kapalı olsa bile isteklere yanıt vermeye devam eder.

Pratik iş akışı şöyledir:

  1. API sözleşmesini tasarlayın.
  2. Cloud Mock’u etkinleştirin.
  3. Oluşan URL’yi frontend, QA ve entegrasyon ekipleriyle paylaşın.
  4. Backend hazır olduğunda aynı sözleşmeye göre gerçek servisi doğrulayın.

Bölgeler arası ekiplerle çalışıyorsanız, küresel ekiplerle taklit sunucuları ve ortamları paylaşma rehberindeki desenleri de uygulayabilirsiniz.

Cloud Mock’u Etkinleştirin ve Herkese Açık URL’nizi Alın

Örnek olarak müşteri kayıtlarını döndüren bir GET /users uç noktası kullanalım.

Adım 1: Cloud Mock’u açın

Apidog projenizde şu menüye gidin:

Proje Ayarları > Özellik Ayarları > Taklit Ayarları

Ardından Cloud Mock seçeneğini etkinleştirin.

Bu işlemi proje başına bir kez yapmanız yeterlidir. Etkinleştirildikten sonra projedeki uç noktalar, yerel URL’lerinin yanında bir Cloud Mock URL’sine sahip olur.

Cloud Mock ayarları

Adım 2: Cloud Mock URL’sini kopyalayın

Paylaşmak istediğiniz uç noktayı açın; örneğin GET /users.

  1. Taklit sekmesine gidin.
  2. Cloud Mock URL’sini kopyalayın.
  3. Bu URL’yi frontend veya QA ekibiyle paylaşın.

Örnek URL:

https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi
Enter fullscreen mode Exit fullscreen mode

URL yapısı genel olarak şu deseni izler:

mock.apidog.com/m1/<projectId>-<num>-<env>/<path>
Enter fullscreen mode Exit fullscreen mode

URL’yi elle oluşturmaya çalışmayın. Apidog’un ürettiği ve arayüzden kopyaladığınız URL doğruluk kaynağıdır.

Adım 3: Takliti Apidog içinde test edin

URL’yi paylaşmadan önce yanıtı doğrulayın:

  1. Aynı uç noktanın Taklit sekmesini açın.
  2. Taklit URL’sine test isteği gönderin.
  3. Oluşturulan yanıtın şemanızla uyumlu olduğunu kontrol edin.

Bir GET /users isteği şu tür bir yanıt döndürebilir:

[
  {
    "id": 1,
    "name": "Amelia Turner",
    "email": "amelia.turner@example.com",
    "city": "Portland"
  },
  {
    "id": 2,
    "name": "Marcus Bell",
    "email": "marcus.bell@example.com",
    "city": "Austin"
  }
]
Enter fullscreen mode Exit fullscreen mode

Bu veriler sabit kodlu olmak zorunda değildir. Apidog, şemadaki alan adlarını ve türlerini kullanarak makul örnek veriler oluşturur. Böylece frontend ekibi tablo, kart, boş durum ve biçimlendirme senaryolarını gerçek veriye benzer içerikle geliştirebilir.

Adım 4: URL’yi tarayıcıdan veya istemciden çağırın

GET uç noktaları için Cloud Mock URL’sini doğrudan tarayıcıda açabilirsiniz. URL’yi adres çubuğuna yapıştırdığınızda JSON yanıtını görürsünüz.

Komut satırından doğrulamak için:

curl "https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"
Enter fullscreen mode Exit fullscreen mode

Frontend tarafında ise URL’yi diğer API uç noktaları gibi kullanın. Bu noktada akış tamamlanır: sözleşmeyi tasarlayın, Cloud Mock’u açın, URL’yi paylaşın ve backend’i beklemeden geliştirmeye başlayın.

Takliti Token Kimlik Doğrulamasıyla Kilitleyin

Herkese açık URL’ler paylaşımı kolaylaştırır; ancak yayınlanmamış özellikler veya iş ortağı entegrasyonları için erişimi sınırlamak isteyebilirsiniz.

Şu menüye gidin:

Proje Ayarları > Özellik Ayarları > Taklit Ayarları

Erişim iznini Token Kimlik Doğrulaması olarak ayarlayın.

Bu ayar etkin olduğunda her istek geçerli bir apidogToken içermelidir. Token olmayan istekler reddedilir.

Token’ı sorgu parametresiyle gönderin

curl "https://mock.apidog.com/m1/2689726-0-default/users?apidogToken=GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"
Enter fullscreen mode Exit fullscreen mode

Token’ı istek başlığıyla gönderin

Token’ı URL’den ve URL günlüğü tutan sistemlerden uzak tutmak için başlık yaklaşımını kullanın:

curl "https://mock.apidog.com/m1/2689726-0-default/users" \
  -H "apidogToken: GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"
Enter fullscreen mode Exit fullscreen mode

Token’ı form gövdesinde gönderin

form-data veya x-www-form-urlencoded isteklerinde apidogToken adlı bir gövde parametresi kullanabilirsiniz.

Frontend kodunda başlık kullanımı genellikle daha temizdir:

const res = await fetch(
  "https://mock.apidog.com/m1/2689726-0-default/users",
  {
    headers: {
      apidogToken: "GdfNrEm6lxM9nDGGIMCWC1OPSiZ6hGOi"
    }
  }
);

const users = await res.json();
Enter fullscreen mode Exit fullscreen mode

Dikkat: Daha önce token içermeyen bir URL paylaştıysanız ve sonradan Token Kimlik Doğrulaması’nı açarsanız, tüm tüketicilerin çağrılarını güncellemesi gerekir. QA, frontend ve iş ortaklarını geçişten önce bilgilendirin.

Yerel Ayarlarla Gerçekçi ve Bölgesel Duyarlı Veriler Oluşturun

Her kullanıcı için "name": "string" döndüren bir taklit, kullanıcı arayüzünü yeterince test etmez. Gerçekçi adlar, adresler ve telefon numaraları ise metin taşması, tarih biçimi, adres uzunluğu ve farklı alfabelerle ilgili UI sorunlarını backend gelmeden yakalamanıza yardımcı olur.

Apidog, bu tür değerleri arka planda Faker.js ile oluşturur. Uluslararası ürünlerde asıl değer, yerel ayar kontrolleriyle ortaya çıkar.

Varsayılan yerel ayarı kullanın

Varsayılan olarak Faker, projenin dil ayarını takip eder.

Bu ayarı şurada yapılandırabilirsiniz:

Proje Ayarları > Temel Ayarlar

Burada seçtiğiniz dil, oluşturulan taklit değerleri için varsayılan yerel ayar olur. Örneğin proje dilini Fransızca ayarladığınızda, oluşturulan adlar ve adresler Fransızca yerel ayarına uygun olur.

Tüm proje için yerel ayarı geçersiz kılın

Proje dilinden farklı bir yerel ayarda veri üretmek istiyorsanız:

  1. Proje Ayarları > Özellik Ayarları > Taklit Ayarları bölümüne gidin.
  2. Faker yerel ayarını açılır menüden seçin.
  3. Taklit yanıtını yeniden test edin.

Bu ayar, projedeki tüm alanlarda Temel Ayarlar’daki varsayılan dilin yerine geçer.

Örneğin Japonya pazarına yönelik bir ekranı test ederken proje yerel ayarını Japonca olarak ayarlayabilirsiniz. Böylece adlar, adresler ve telefon numaraları bölgeyi yansıtır; UI’ın Latin olmayan karakterler ve farklı adres biçimleriyle nasıl davrandığını görebilirsiniz.

Şema tabanlı veri üretimi hakkında daha fazla bilgi için Apidog’un akıllı taklidi ve şemanızı nasıl okuduğuna bakın.

Tek bir alan için yerel ayarı geçersiz kılın

Bazı durumlarda yalnızca belirli bir alanın farklı bir yerel ayar kullanmasını istersiniz. Örneğin, karışık bölgelerden müşteriler içeren bir kullanıcı listesi oluşturabilirsiniz.

Taklit ifadesinde locale parametresini kullanın:

{{$person.fullName(locale='ja')}}
Enter fullscreen mode Exit fullscreen mode

Bu ifade yalnızca ilgili alan için 田中 太郎 gibi Japonca adlar üretir. Yanıtın diğer alanları proje yerel ayarını izlemeye devam eder.

Öncelik sırası şöyledir:

  1. Alan düzeyindeki locale ayarı
  2. Proje düzeyindeki yerel ayar
  3. Temel Ayarlar’daki varsayılan dil

Belgelerde ja örnek olarak gösterilir. Hedef bölgenizin tam kodunu kullanmadan önce Apidog taklit belgelerinde doğrulayın. Faker’ın yerel ayar davranışı için Faker.js yerel ayar referansını inceleyebilirsiniz.

Saat dilimini de eşleştirin

Zaman damgaları için de benzer bir yapı vardır.

Proje düzeyindeki varsayılan ayar:

Proje Ayarları > Özellik Ayarları > Taklit Ayarları

Gerekirse bir alan için taklit ifadesindeki timeZone parametresiyle geçersiz kılabilirsiniz.

Bu yaklaşım, createdAt gibi alanların sunucunun bulunduğu konuma göre rastgele görünmesi yerine, test ettiğiniz bölgenin saat dilimine uygun olmasını sağlar.

Yerel ayar ve saat dilimi ayarlarını birlikte kullanarak Japonya, Almanya veya karma uluslararası kullanıcı tabanları için daha inandırıcı test verileri üretebilirsiniz. Daha fazla örnek için pratik API taklit kullanım durumları rehberini inceleyin.

Cloud Mock ile Kendi Barındırılan Taklit Karşılaştırması

Cloud Mock, Apidog’un barındırılan seçeneğidir ve çoğu ekip için düşük bakım maliyetli bir çözümdür:

Seçenek Ne zaman tercih edilmeli? Operasyonel maliyet
Cloud Mock Hızlı paylaşım, her zaman açık URL, minimum kurulum Düşük
Kendi barındırılan taklit Veri yerleşimi, kurum içi ağ veya özel trafik politikaları Hizmeti siz yönetirsiniz

Kuruluşunuzun veri yerleşimi kuralları varsa veya test trafiğinin bir satıcının bulutu üzerinden geçmesini istemiyorsanız, Apidog taklit hizmetini kendi altyapınızda çalıştırabilirsiniz. Bu senaryo için Apidog taklit sunucusunu kendi kendine barındırma rehberini kullanın.

Barındırılan alternatifleri değerlendirmek için çevrimiçi API taklit araçlarının karşılaştırması da yararlı olabilir.

Cloud Mock ve yerel ayar özellikleri için burada belirli bir plan gereksinimi belirtilmemektedir. Hesabınızdaki güncel kapsamı kontrol etmek için Apidog’u indirebilir ve akışı doğrudan deneyebilirsiniz.

İş Akışını Apidog CLI ile Otomatikleştirin

Apidog’daki taklit üretimi bir GUI ve bulut yeteneğidir. Taklit yanıtları uç nokta şemanızdan otomatik oluşturulur ve Apidog’un barındırılan motoru tarafından sunulur.

Bu nedenle Apidog CLI bir taklit sunucusunu başlatmaz veya barındırmaz. CLI’ın rolü, taklitin dayandığı API sözleşmesini güncel tutmaktır.

Önerilen akış:

  1. Uç noktaları ve şemaları Apidog projesinde oluşturun veya güncelleyin.
  2. Cloud Mock’un şemadan ürettiği yanıtlarla frontend geliştirmesini başlatın.
  3. Gerçek backend hazır olduğunda aynı sözleşmeye karşı test senaryolarını çalıştırın.
  4. Bu doğrulamayı CI/CD pipeline’ına ekleyin.

CLI ve Cursor veya Claude Code gibi yapay zeka kodlama ajanları, uç noktaları ve şemaları oluşturup güncelleyebilir. Cloud Mock veri üretirken bu şemaları kullandığı için, spesifikasyon güncel kaldığında taklit çıktısı da API değişikliklerini yansıtır.

Gerçek backend devreye girdikten sonra kaydedilmiş test senaryolarını başsız olarak çalıştırabilirsiniz:

apidog run -t <scenario_id> -e <env_id> -r cli
Enter fullscreen mode Exit fullscreen mode

Bu komut, kaydedilmiş bir test senaryosunu seçilen ortama karşı çalıştırır ve sonuçları raporlar.

<scenario_id> ve <env_id> değerlerini elle tahmin etmek yerine, Apidog’da senaryoyu açın ve oluşturulan komutu kopyalayın. CI/CD entegrasyonu için Apidog’u bir CI/CD pipeline’ında çalıştırma rehberini izleyin.

Sıkça Sorulan Sorular

Apidog’u kapattığımda Cloud Mock URL’si çalışmaya devam eder mi?

Evet. Cloud Mock, yerel makinenizden bağımsız olarak Apidog altyapısından sunulur. Bilgisayarınız kapalı olsa bile ekip arkadaşlarınız URL’ye erişebilir.

Cloud Mock URL’sini doğrudan tarayıcıda açabilir miyim?

GET istekleri için evet. Tam URL’yi, gerekliyse apidogToken sorgu parametresiyle birlikte adres çubuğuna yapıştırın.

Token’ı tarayıcı geçmişinden ve URL günlüklerinden uzak tutmak istiyorsanız curl, Postman benzeri bir istemci veya frontend uygulamanız üzerinden istek başlığı kullanın.

Token içermeyen isteklere ne olur?

Erişim iznini Token Kimlik Doğrulaması olarak ayarladıysanız, geçerli apidogToken içermeyen istekler reddedilir.

Token’ı şu yöntemlerden biriyle iletebilirsiniz:

  • Sorgu parametresi
  • İstek başlığı
  • Form isteği gövdesindeki parametre

Token kimlik doğrulamasını sonradan etkinleştiriyorsanız, mevcut tüketicilere çağrılarını güncellemeleri gerektiğini bildirin.

Belirli bir ülkeye uyan taklit verilerini nasıl alırım?

Üç seviyede ayar yapabilirsiniz:

  1. Temel Ayarlar üzerinden varsayılan proje dili
  2. Taklit Ayarları üzerinden proje düzeyindeki Faker yerel ayarı
  3. Taklit ifadesindeki locale parametresiyle alan düzeyindeki ayar

Örnek:

{{$person.fullName(locale='ja')}}
Enter fullscreen mode Exit fullscreen mode

Alan düzeyindeki ayar, proje düzeyindeki ayarı; proje düzeyindeki ayar ise varsayılan dili geçersiz kılar. Akıllı taklit rehberi, şema tabanlı üretimin bu ayarlarla nasıl çalıştığını açıklar.

Cloud Mock mu yoksa başsız bir taklit aracı mı kullanmalıyım?

Cloud Mock; API tasarımına bağlı, barındırılan ve bakım gerektirmeyen bir uç nokta isteyen ekipler için uygundur.

GUI kullanmadan, tamamen otomatik bir derleme sürecine gömülü taklitlere ihtiyacınız varsa başsız taklit araçlarına genel bakış seçenekleri karşılaştırır.

Birçok taklit aracının temelinde OpenAPI Girişimi spesifikasyonu bulunur. Hangi aracı seçerseniz seçin, temiz ve güncel bir API spesifikasyonu en önemli girdidir.

Özetle

Yalnızca dizüstü bilgisayarınızda çalışan bir taklit, tek bir geliştiricinin engelini kaldırır. Cloud Mock ise bunu ekip genelinde kullanılabilen bir mock.apidog.com URL’sine dönüştürür.

Uygulanabilir akış basittir:

  1. API sözleşmesini tanımlayın.
  2. Cloud Mock’u etkinleştirin.
  3. URL’yi frontend, QA ve iş ortaklarıyla paylaşın.
  4. Gerekirse token kimlik doğrulaması ekleyin.
  5. Bölgesel testler için yerel ayar ve saat dilimi kontrollerini kullanın.
  6. Backend hazır olduğunda aynı sözleşmeye göre CLI testleri çalıştırın.

İlk paylaşılabilir bulut taklitinizi oluşturmak için Apidog’u indirin. Ücretsizdir ve kredi kartı gerekmez.

Top comments (0)