İçeriğe atla
%100 yerel

OpenAPI TypeScript türleri

Bir OpenAPI veya Swagger belgesini TypeScript arayüzlerine ve türlerine dönüştür.

Giriş
Çıkış

OpenAPI TypeScript türleri

Bir OpenAPI 3 veya Swagger 2 belgesini yapıştır — JSON veya YAML — ve bu araç components/schemas bölümündeki her şema için TypeScript arayüzleri, ayrıca her uç nokta için yoluna, sorgu parametrelerine, istek gövdesine ve yanıtlarına ait bir tür oluşturur. Belirtim her değiştiğinde API türlerini elle yazma adımını tasarruf eder ve istemciyi sunucunun gerçekten döndürdüğü şeyle senkronize tutar.

Seçenekler çıktının şeklini kontrol eder. Arayüz veya tür bildirimleri arasından seç ve boş değer alanlarının nasıl temsil edileceğine karar ver: isteğe bağlı bir özellik (x?: string) olarak veya null ile birlik (x: string | null) olarak. $ref başvuruları eşleşen arabirime işaret eden adlı türler olarak kalabilir veya kullanıldıkları yere satır içinde genişletilebilir. "Yol, parametre ve yanıt türlerini oluştur" seçeneğini kapatarak sadece bileşen şemalarını al veya durum kodu birliğini aç, bir uç noktanın döndürebileceği her yanıt kodunu tek bir tür olarak gör. Belirtimden gelen açıklamalar her alanın üzerinde JSDoc yorumları haline gelir ve bir ad ön eki, bunları daha büyük bir koda yapıştırdığında oluşturulan türleri kendi türlerinle çarpışmaktan korur.

Ayrıştırıcı standart OpenAPI yapılarını — nesne ve dizi şemalarını, numaralandırmaları, oneOf/anyOf/allOf, nullable, additionalProperties — okur ve aynı belge içindeki yerel $ref işaretçilerini takip eder. Kullanılmayan olarak işaretlenmiş uç noktalar tamamen atlanabilir ve OpenAPI gibi görünmeyen bir belge (components/schemas veya paths bölümü yok) boş çıktı yerine açık bir hata mesajı üretir.

Her şey tarayıcında yerel olarak çalışır — API belirtimin, yayınlanmamış bir ürünü veya dahili bir sistemi tanımlayabilir, hiçbir yere yüklenmez. Oluşturulan türleri kopyala, .txt dosyası olarak indir ve bir .ts dosyasına yapıştır veya çıktıyı doğrudan giriş değerine geri gönder ve iyileştirmeye devam et.

FAQ

Hem OpenAPI 3 hem de Swagger 2 belgelerini destekliyor mu?
Evet. Her ikisi de aynı yol yapısını kullanır ve Swagger 2 tanımları, OpenAPI 3 components/schemas ile aynı şekilde okunur.
Belgenin dışına işaret eden $ref başvurularına ne olur?
Sadece yerel başvurular (#/ ile başlayanlar) çözülür. Harici bir dosyaya işaret eden bir $ref adlandırılmış bir tür olarak kalır ancak genişletilemez, çünkü bundan okuyacak başka bir şey yoktur.
Her bileşen şemasını oluşturmadan sadece uç noktalar için türler oluşturabilir miyim?
Bileşen şemaları mevcut olduğunda her zaman oluşturulur, çünkü istek ve yanıt türleri genellikle bunlara atıfta bulunur. Yol türlerini kapatarak yollardan türetilen her şeyi atla ve sadece şemaları sakla.
Neden döngüsel bir şema referansı, "genişlet" açık olsa bile, adlandırılmış bir tür olarak kalır?
Doğrudan veya başka bir şema aracılığıyla kendisine atıfta bulunan bir şema, sonsuza kadar döngüye girmedikçe satır içine alınamaz, bu nedenle o referans adlandırılmış türe geri döner ve geri kalanı hala genişler.
API belirtimim bir yere yükleniyor mu?
Hayır. Ayrıştırma ve tür oluşturma tamamen tarayıcınızda çalışır — belgeniz hiçbir zaman cihazınızı bırakmaz.