TypeSpec, Microsoft tarafından API tasarlamak için geliştirilmiş açık kaynaklı bir dildir. Hizmetleri, modelleri, işlemleri ve kısıtlamaları tanımlamak için kompakt, etkileyici bir yol sunar. Uzun OpenAPI dosyalarını elle oluşturmak yerine, kısa TypeSpec tanımları yazar, ardından OpenAPI belirtimlerini, istemci SDK'larını ve sunucu taslaklarını oluşturmak için bunları yayıcılar (emitters) kullanarak derlersiniz. TypeSpec genişletilebilir ve topluluk odaklı olduğu için sadece Azure değil, geniş bir etki alanı yelpazesine uyar.

Ekiplerin API tasarımında TypeSpec'e yönelme nedenleri:
- Yeniden kullanılabilir modeller ve dekoratörlerle kısa, okunabilir API tanımları
- OpenAPI 3, istemci kodu (.NET, Java, JS, Python) ve sunucu taslakları (.NET, JS) için standart yayıcılar
- Tek bir tasarım dili aracılığıyla tutarlılık ve yönetişim
- OpenAPI → TypeSpec dönüştürme araçları aracılığıyla sorunsuz geçiş
- VS Code/Visual Studio uzantıları ve bir web oyun alanı aracılığıyla birinci sınıf IDE desteği
TypeSpec, API tasarımı için paylaşılan, incelenebilir bir dile ihtiyaç duyan mimarlar ve geliştiriciler için sürtünmeyi azaltır. Sonuç, daha hızlı yineleme, daha az tutarsızlık ve platform standartlarıyla daha güçlü uyumdur.
TypeSpec Nasıl Çalışır?
Üst düzeyde, API yapılarını TypeSpec'in dil özelliklerini (modeller, numaralandırmalar, dekoratörler, ad alanları) kullanarak .tsp dosyalarında tanımlarsınız. TypeSpec derleyicisi daha sonra bu tanımları işler ve yapıtları oluşturmak için yayıcıları çağırır.
Tipik bir TypeSpec API tasarım iş akışı şöyledir:
- Yeni bir TypeSpec projesiyle başlayın veya OpenApiMigration aracını kullanarak bir OpenAPI belirtimini taşıyın
@serviceve isteğe bağlı@serverkullanarak bir hizmet tanımlayın- Kaynak başına
namespaceblokları ve iç içe ad alanları ile düzenleyin - Verilerinizi
model,enumve@minLengthgibi doğrulama dekoratörlerini kullanarak modelleyin @route,@get,@post,@put,@deletekullanarak REST rotalarını ve fiillerini tanımlayın- OpenAPI, istemci SDK'ları ve sunucu taslakları yaymak için
tsp compile .ile derleyin - Oluşturulan yapıtları mevcut araç zincirinizle entegre edin
Resmi belgelerden örnek vurgular:
- İstemci kodu oluşturma: .NET, Java, JavaScript ve Python
- Sunucu tarafı taslakları: .NET ve JavaScript
- Birlikte çalışabilirlik: Oluşturulan OpenAPI'yi Apidog, ağ geçitleri ve test paketleri gibi araçlarla kullanın
Bu model, tasarımın doğru kaynağını TypeSpec'te tutarken, aşağı akış sistemlerinin standart çıktıları tüketmesine olanak tanır.
Hızlı Başlangıç: API Tasarlamak İçin TypeSpec Nasıl Kullanılır?
Bir projeyi dakikalar içinde derlemek için şu adımları izleyin:
1. Önkoşulları Yükleyin
- Node.js LTS (20+), npm 7+
- TypeSpec CLI:
npm install -g @typespec/compiler
2. Bir Projeyi Başlatın
tsp init→ "Generic REST API" şablonunu seçin@typespec/httpve@typespec/openapi3'ün seçili olduğundan emin olun
3. Derleyin
tsp-output/@typespec/openapi3/openapi.yamloluşturmak içintsp compile .komutunu kullanın- Canlı yeniden derlemeler için
tsp compile . --watchkullanın
4. Tanımları Oluşturun
- Bir hizmet oluşturun:
@service({ title: "Pet Store" })+@server("https://example.com","Single endpoint") - Ad Alanı:
namespace PetStore; - Model:
model Pet { id: int32; name: string; } - Rotalar + işlemler:
@route("/pets") namespace Pets { @get op listPets(): {...} }
5. Araçlarla Entegre Edin
- Yayılan OpenAPI'yi kullanarak Apidog'a veya diğer araçlara aktarın
- Gerektiğinde TypeSpec yayıcılarını kullanarak SDK'lar veya taslaklar oluşturun
Üretken API tasarımı için ipuçları:
- Amacı belgelemek için dekoratörleri modele yakın tutun (
@minLength,@maxValue) - Kaynakları netleştirmek ve anlamlı operationId'ler oluşturmak için iç içe ad alanları kullanın
.tspdosyalarını sözleşme olarak kabul edin—kod gibi inceleyin
Apidog Neden TypeSpec ile Eşleştirilebilecek En İyi API Geliştirme Aracıdır?
TypeSpec, sözleşme öncelikli tasarım için mükemmeldir. Apidog, bu sözleşmeyi görsel olarak, işbirliğine dayalı ve test edilebilir bir canlı API'ye dönüştürmek için sınıfının en iyisi platformdur. Birlikte, belirtimden üretime hızlı ve güvenilir bir yol sunarlar.

Apidog'un TypeSpec'i güçlendiren yönleri:
- Görsel API Tasarımcısı: Formlar, şema düzenleyiciler ve örneklerle uç noktaları düzenleyin veya oluşturun—manuel JSON gerekmez
- Sahte veri oluşturma (Mocking) ve paralel geliştirme: Belirtimden otomatik olarak sahte veriler oluşturun, böylece ön uç ve arka uç paralel ilerleyebilir
- Otomatik test: Görsel onaylamalar, JSONPath çıkarma, test senaryoları, performans testleri ve CI çalıştırıcıları
- Canlı, etkileşimli belgeler: Erişim kontrolleriyle (Herkese Açık, Parola, IP, E-posta, Özel Giriş) temiz belgeler yayınlayın
- İşbirliği: Dallanma, incelemeler ve rol tabanlı erişim sayesinde ekipler güvenli bir şekilde yineleme yapabilir
- API Merkezi dağıtımı: Keşif için herkese açık API'leri Apidog API Merkezi'ne yayınlayın
Basit bir iş akışı:
- TypeSpec'te bir sözleşme tasarlayın ve OpenAPI yayınlayın
- OpenAPI'yi Apidog'a aktarın
- Örnekleri, kimlik doğrulamayı ve ortamları iyileştirmek için görsel araçları kullanın
- JSONPath tabanlı kontroller ve CI/CD komutlarıyla test paketleri oluşturun
- Genel, iş ortakları veya pilotlar için doğru görünürlükle belgeleri yayınlayın
Apidog, API tasarımını, sahte veri oluşturmayı, test etmeyi, hata ayıklamayı, dokümantasyonu ve dağıtımı birleştirdiği için bağlam geçişini azaltır ve ekipleri uyumlu tutar. Bu nedenle TypeSpec'i seven ekipler, günlük yürütme için Apidog'u da benimser.
TypeSpec ve Apidog'da görsel API tasarımı
Ya o ya bu değil—ikisi birden. TypeSpec, API'leri tanımlamak için kompakt, kod benzeri bir yol sunar. Apidog, bu API'leri her gün çalıştırmak için görsel, işbirliğine dayalı bir çalışma alanı sunar. İşte birbirlerini nasıl tamamladıkları:
| Görev | TypeSpec (açık kaynak) | Apidog (görsel API tasarımı) |
|---|---|---|
| Sözleşme Oluşturma | Dekorasyoncularla .tsp kod benzeri dosyalar |
Form tabanlı düzenleyiciler ve şema kullanıcı arayüzü |
| Yapıtları Yayınla | OpenAPI, SDK'lar, sunucu taslakları | Uygulanamaz (OpenAPI'yi içe aktarır) |
| İşbirliği | Git tabanlı incelemeler | Dallanma, birleştirmeler, roller, yorumlar, geçmiş |
| Sahte Veri Oluşturma | Yayıcılar/araçlar aracılığıyla | Belirtimden otomatik sahte veriler |
| Test Etme | Kapsam dışı | Yerleşik birim, senaryo, performans testleri |
| Belgeler ve Erişim | Harici araçlar aracılığıyla | Yerleşik belgeler + erişim kontrolü |
| Dağıtım | Harici | Keşif için API Merkezi |
Sözleşmenizi sıkı ve tutarlı tutmak için TypeSpec kullanın. Ekipler arasında gerçek dünya teslimatını hızlandırmak için Apidog kullanın.
Başlarken: TypeSpec + Apidog ile API Tasarımı
- TypeSpec'i yükleyin ve bir proje iskelesi oluşturun (
tsp init) - Hizmetinizi, modellerinizi, işlemlerinizi ve doğrulayıcılarınızı tanımlayın
- OpenAPI'ye derleyin (
tsp compile .) - OpenAPI'yi Apidog'a aktarın
- İstek/yanıt örneklerini, başlıkları ve kimlik doğrulamayı ayarlamak için Apidog'un Görsel Tasarımcısını kullanın
- Otomatik testler oluşturun (onaylamalar, JSONPath çıkarma, zincirleme akışlar)
- Regresyon ve performans için Apidog'un çalıştırıcılarıyla CI/CD'yi kurun
- Beş erişim modundan biriyle belgeleri doğru kitleye yayınlayın
- Dallanmalar ve incelemelerle yineleyin; kararlı olduğunda sürüm oluşturun
Bu eşleştirme, mimarların tek bir doğru kaynağı tutmasına olanak tanırken, uygulayıcılara sözleşmeyi bozmadan hızlı hareket etmeleri için ihtiyaç duydukları görsel araçları sağlar.
Sonuç: Açık Kaynak Tasarım Gücü Görsel Yürütme Hızıyla Buluşuyor
Hızla gelişen API alanında TypeSpec, araç zincirinizin beklediği yapıtları derleyen, API tasarımı için net, açık kaynaklı bir dil sunar. Kısa sözleşmeler, güçlü yönetişim ve OpenAPI, SDK'lar ve sunucu taslaklarının tekrarlanabilir şekilde oluşturulmasını elde edersiniz.
TypeSpec'i Apidog ile eşleştirin, böylece tam API yaşam döngüsünü açığa çıkarırsınız: görsel tasarım, hata ayıklama, otomatik test, dokümantasyon ve dağıtım—hepsi tek bir yerde. Bu kombinasyon hataları azaltır, geri bildirim döngülerini kısaltır ve ekibinizi sözleşmeden koda, müşteriye kadar senkronize tutar.
API'leri güvenle tasarlamak ve daha hızlı yayınlamak istiyorsanız, sözleşmeyi tanımlamak için TypeSpec'i ve onu hayata geçirmek için Apidog'u kullanın. Apidog'a bugün kaydolun ve harika API tasarımlarını güvenilir, iyi test edilmiş ve iyi belgelenmiş hizmetlere dönüştürün.
