Git Tabanlı API İş Akışı Nedir ve Nasıl Oluşturulur?

Git tabanlı bir API iş akışı oluşturun: OpenAPI spesifikasyonlarını YAML/JSON olarak düzenleyin ve Apidog Spec-First Modu ile GitHub'a iki yönlü senkronize edin. Adım adım kurulum içeride.

Ashley Innocent

Ashley Innocent

2 June 2026

Git Tabanlı API İş Akışı Nedir ve Nasıl Oluşturulur?

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

Kodunuz Git'te yaşıyor. CI işlem hatlarınız, incelemeleriniz ve sürüm geçmişiniz Git'te yaşıyor. Peki API spesifikasyonunuz neden başka bir yerde yaşıyor?

Git tabanlı bir API iş akışı, OpenAPI tanımınızı kodunuzla aynı yerde tutar. Spesifikasyonu düz bir YAML veya JSON dosyası olarak düzenler, taahhüt eder ve diğer her şey için kullandığınız aynı inceleme sürecinden geçirirsiniz. Ayrı bir bulut veritabanı yok. Dışa aktarma-içe aktarma karmaşası yok. Spesifikasyon, deponuzdaki diğer bir dosyadan ibarettir.

💡
Apidog artık bunu Spec-First Modu ile doğrudan destekliyor. API'nizi IDE tarzı bir düzenleyicide tasarlar, ardından ham dosyaları GitHub veya GitLab ile iki yönlü senkronize edersiniz. Bu kılavuz, Git tabanlı bir API iş akışının ne anlama geldiğini, bulut kilitli spesifikasyonların neden sorun yarattığını ve Spec-First Modu'nun adım adım nasıl kurulacağını anlatmaktadır.
düğme

Git tabanlı bir API iş akışı ne anlama geliyor?

Git tabanlı bir API iş akışı, API spesifikasyonunuzu kod olarak ele alır. OpenAPI dosyası, hizmetlerinizin yanında bir depoda bulunur. Her değişiklik bir taahhüttür (commit). Her taahhüdün bir yazarı, bir mesajı ve bir farkı (diff) vardır.

Bu size, kaynak koddan zaten beklediğiniz üç şeyi sağlar:

Bu, spesifikasyon odaklı bir API iş akışının temel fikridir: spesifikasyon yol gösterir ve uygulama onu takip eder. Bu pratiğe daha derinlemesine bir bakış için, spesifikasyon odaklı API geliştirme kılavuzumuza bakın.

Karşıt yaklaşım, spesifikasyonunuzu tescilli bir bulut uygulamasının içinde depolar. Bu, ekibiniz büyüyene veya süreciniz olgunlaşana kadar işe yarar. Sonra çatlaklar ortaya çıkar.

Bulut kilitli API spesifikasyonlarının sorunu

Çoğu API tasarım aracı, spesifikasyonu kendi veritabanlarında tutar. Kendi kullanıcı arayüzleri aracılığıyla düzenleme yaparsınız. Sahip olduğunuzu düşündüğünüz "dosya" aslında başkasının sistemindeki bir satırdır.

Bu, öngörülebilir şekillerde bozulur.

İnceleme iki yerde gerçekleşir. Kod değişiklikleri GitHub üzerinden geçer. Spesifikasyon değişiklikleri, kendi yorumları ve geçmişi olan ayrı bir araç üzerinden geçer. İnceleyiciler bağlam değiştirir. Onaylar senkronizasyon dışına çıkar.

Fark gizlenir. Spesifikasyon bir bulut veritabanında yaşadığında, çekme isteğinizde temiz, satır satır bir fark göremezsiniz. Ne değiştiğini bilmeden "tasarımın v3'ünü" onaylarsınız.

Dışa aktarma bir angarya haline gelir. Spesifikasyonu CI'ya almak için dışa aktarır, dışa aktarmayı taahhüt eder ve bu arada kimsenin bulut kopyasını düzenlememiş olmasını umarsınız. İki doğruluk kaynağı, kaçınılmaz bir çakışma.

Otomasyon sizinle savaşır. Linters, sözleşme testleri ve kod üreteçleri diskte bir dosya ister. Bulut kilitli bir spesifikasyon, bunların herhangi biri çalışmadan önce bir alma adımı gerektirir.

API spesifikasyonunuzu kod olarak ele almak, tüm bunları ortadan kaldırır. Dosya spesifikasyondur. Git, geçmişdir. Mevcut işlem hattınız gerisini halleder. Bu prensibi API spesifikasyonunu kod olarak ele alma kılavuzumuzda ayrıntılı olarak ele alıyoruz.

Apidog Spec-First Modu nasıl çalışır?

Spec-First Modu, zaten taahhütler ve dallar (branches) hakkında düşünen ekipler için tasarlanmıştır. API'yi ham YAML veya JSON dosyaları olarak tasarlarsınız ve Apidog bu dosyaları Git deponuzla iki yönlü senkronize tutar.

İşte ne elde edersiniz.

IDE tarzı bir OpenAPI düzenleyici

Spesifikasyonu bir formda değil, bir kod düzenleyicide yazarsınız. Düzenleyici, bir IDE'den bekleyeceğiniz kolaylıkları sunar:

Tam dosyanın kontrolünü sizde tutarsınız. Gizli alanlar yok, sadece UI'ya özgü meta veriler yok.

Ham YAML/JSON dosyaları

Spesifikasyon gerçek bir dosyadır. İşte küçük bir parçası:

openapi: 3.1.0
info:
 title: Orders API
 version: 1.2.0
paths:
 /orders/{orderId}:
 get:
 summary: Get an order by ID
 operationId: getOrder
 parameters:
 - name: orderId
 in: path
 required: true
 schema:
 type: string
 responses:
 "200":
 description: Order found
 content:
 application/json:
 schema:
 $ref: "#/components/schemas/Order"
 "404":
 description: Order not found
components:
 schemas:
 Order:
 type: object
 properties:
 id:
 type: string
 status:
 type: string
 enum: [pending, shipped, delivered]

Bu, deponuza inen dosyadır. Düzenlediğiniz şey, taahhüt edilen şeydir.

Otomatik ayrıştırılan gezilebilir bir taslak

Siz yazarken, Apidog dosyayı ayrıştırır ve sol kenar çubuğunda görsel bir taslak oluşturur. Yollar, işlemler ve şemalar tıklayabileceğiniz bir ağaç olarak görünür. Hem bir tasarım aracının okunabilirliğini hem de ham dosyaların hassasiyetini aynı anda elde edersiniz.

Uzun spesifikasyonlar gezilebilir kalır. Yüzlerce satır arasında kaydırmadan bir uç noktaya atlayın.

İki yönlü Git senkronizasyonu

Spec-First Modu, Git sağlayıcınıza bağlanır ve değişiklikleri her iki yönde senkronize eder. GitHub ve GitLab'i doğrudan, Azure DevOps'u ise bir Git Bağlantısı aracılığıyla destekler.

Ekip arkadaşlarınızın gönderdiği değişiklikleri içeri çekin. Apidog düzenleyicisinde yerel olarak düzenleyin. Ardından aynı dalla taahhüt edin ve geri gönderin. Depo ve çalışma alanınız uyumlu kalır.

Taahhüt, gönderme ve senkronizasyon durumu göstergesi

Git'i yönetmek için Apidog'dan ayrılmazsınız. Değişikliklerinizi hazırlayın, bir taahhüt mesajı yazın ve gönderin. Bir senkronizasyon durumu göstergesi, nerede durduğunuzu size bildirir. Başarılı bir göndermeden sonra, "Az önce senkronize edildi" gibi bir şey yazar. Göndermeden önce fikrinizi değiştirirseniz, gönderilmemiş düzenlemeleri iptal edebilir ve son senkronize edilmiş duruma geri dönebilirsiniz.

Bu iki yönlü senkronizasyon, Git tabanlı API iş akışının kalbidir. GitHub tarafının odaklanmış bir kılavuzu için, OpenAPI spesifikasyonunu GitHub ile senkronize etme bölümüne bakın.

Kurulum kılavuzu

Boş bir depodan senkronize edilmiş bir spesifikasyona nasıl geçileceği aşağıda açıklanmıştır. Tam referans, Spec-First Modu belgelerinde yer almaktadır.

Bu tam döngüdür: çekme, düzenleme, taahhüt etme, gönderme, doğrulama. Dışa aktarma adımı yok. İkinci bir doğruluk kaynağı yok.

Spec-first (Spesifikasyon Odaklı) ve Design-first (Tasarım Odaklı) modu

Apidog, iki farklı çalışma şeklini destekler. Fark, spesifikasyonun nerede yaşadığı ve onu nasıl düzenlediğinizdedir.

Spec-First Modu (beta) Design-First Modu
Spesifikasyon depolama Git'teki ham YAML/JSON dosyaları Apidog bulut projesi
Birincil düzenleyici IDE tarzı kod düzenleyici Görsel form tabanlı UI
Sürüm kontrolü Yerel Git (taahhütler, dallar, farklar) Apidog geçmişi ve dalları
İki yönlü Git senkronizasyonu Evet (GitHub, GitLab, Azure DevOps) Dışa aktarma/içe aktarma yoluyla
En uygun olduğu durum Git'te yaşayan ekipler Görsel bir iş akışını tercih eden ekipler

Hiçbir mod "daha iyi" değildir. Farklı alışkanlıklara hizmet ederler. İnceleme ve yayınlama süreciniz zaten Git üzerinde çalışıyorsa, Spec-First Modu bu boşluğu ortadan kaldırır. Ekibiniz görsel olarak tasarım yapıyor ve ham OpenAPI'ye nadiren dokunuyorsa, Design-First Modu daha uygun olabilir.

Ne zaman kullanılır?

Spec-First Modu'nu şu durumlarda kullanın:

Ekibiniz ham OpenAPI yazmadan API tasarladığında veya mühendis olmayanlar spesifikasyonu sahiplendiğinde ve form tabanlı bir düzenleyiciyi tercih ettiğinde görsel, bulut öncelikli bir yaklaşıma sadık kalın.

SSS

Git tabanlı bir API iş akışı nedir?

Git tabanlı bir API iş akışı, OpenAPI spesifikasyonunuzu bir Git deposunda bir dosya olarak depolar ve her değişikliği taahhütler, dallar ve çekme istekleri aracılığıyla yönetir. Spesifikasyon, uygulama kodunuzla aynı inceleme ve sürüm kontrolü sürecini takip eder, böylece tek bir doğruluk kaynağı olur.

Apidog Spec-First Modu, GitHub ve GitLab'i destekliyor mu?

Evet. Spec-First Modu, GitHub ve GitLab ile doğrudan iki yönlü senkronize olur. Azure DevOps, bir Git Bağlantısı aracılığıyla desteklenir. Depoyu bağlarsınız, bir dal seçersiniz ve Apidog düzenlemelerinizi ve uzaktaki depoyu senkronize tutar.

OpenAPI dosyalarını ham YAML veya JSON olarak düzenleyebilir miyim?

Evet. Spec-First Modu, ham YAML ve JSON için sözdizimi vurgulama, şema doğrulama ve OpenAPI ve Swagger için otomatik tamamlama özelliklerine sahip IDE tarzı bir düzenleyici sunar. Sol kenar çubuğundaki bir taslak, büyük spesifikasyonlarda hızlıca gezinmenizi sağlamak için dosyayı otomatik olarak ayrıştırır.

Spec-First ve Design-First modları arasındaki fark nedir?

Spec-First Modu, spesifikasyonunuzu Git'te dosya olarak tutar ve bunları iki yönlü senkronizasyonlu bir kod düzenleyicide düzenler. Design-First Modu, spesifikasyonu görsel, form tabanlı bir düzenleyiciyle Apidog bulut projesinde tutar. İş akışınız zaten Git üzerinde çalışıyorsa Spec-First'ı seçin.

Sonuç

Git tabanlı bir API iş akışı, kodunuzla API sözleşmeniz arasındaki ayrımı sona erdirir. Spesifikasyon bir dosya haline gelir, dosya bir taahhüt haline gelir ve taahhüt, zaten güvendiğiniz inceleme sürecinden akar.

Apidog Spec-First Modu, bunu gerçeğe dönüştürmek için size IDE tarzı düzenleyiciyi, gezilebilir taslağı ve iki yönlü Git senkronizasyonunu sunar. Ham YAML veya JSON'u düzenlersiniz, net bir mesajla taahhüt eder, gönderir ve durumun "Az önce senkronize edildi" olarak görünmesini izlersiniz.

Spec-First Modu'nu deneyin ve API spesifikasyonunuzu Git'e taşıyın.

düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin