Aptal OpenAPI sorununa basit çözüm
Aptal OpenAPI Sorununa Basit Çözüm
OpenAPI, API’leri açık, yapılandırılmış ve öngörülebilir hâle getirmelidir.
Ama birçok ekip için ikinci bir işe dönüşür.
Backend kodunu yazarsın.
Sonra OpenAPI yazarsın.
Sonra OpenAPI’yi güncellersin.
Sonra OpenAPI’yi güncellemeyi unutursun.
Sonra dokümantasyonun yalan söyler.
İşte bu aptal OpenAPI sorunu.
OpenAPI’nin kendisi kötü değil. Sorun, gerçek kodla senkron tutmanın acı verici, tekrarlı ve kolay bozulur olması.
Daha basit bir yol var.
O yol Yelix.
Nasıl Başlanır (Basit)
Sıfırdan çalışan bir API’ye giden en kısa yol budur.
1) Deno’yu kur
Yelix, Deno üzerinde çalışır. Önce onu kur:
deno --version
Bu komut yoksa Deno’yu buradan yükle: https://docs.deno.com/runtime/getting_started/installation/ .
2) Minik bir uygulama oluştur
import { YelixHono } from '@yelix/hono';
const app = new YelixHono();
app.get('/', (c) => {
return c.text('Hello, Yelix!');
});
Deno.serve(app.fetch);
3) Çalıştır
deno run --allow-net main.ts
http://localhost:8000 adresini aç ve yanıtı gör.
4) İsteğe bağlı: anında dokümantasyon ekle
app.__openapi.setTitle('My API');
app.__openapi.setDescription('API Documentation');
app.exposeScalarOpenAPI({
title: 'My API Documentation',
openapiJsonPath: '/openapi.json',
docsPath: '/docs',
});
Sonra şuralara git:
- OpenAPI JSON: http://localhost:8000/openapi.json
- Doküman arayüzü: http://localhost:8000/docs
Asıl Sorun
Çoğu backend projesi OpenAPI’yi harici bir doküman gibi ele alır.
Rotaları bir yerde tanımlarsın.
Doğrulamayı başka bir yerde yaparsın.
Yanıt şemalarını başka bir dosyada tutarsın.
Her şeyi YAML veya JSON ile manuel anlatırsın.
Sonuçta elinde şunlar olur:
- Kod
- Doğrulama mantığı
- Dokümantasyon
- Tipler
- Yanıt şemaları
Hepsi aynı şeyi anlatır.
Ve bunlardan biri değiştiği anda diğerleri güncelliğini yitirir.
Sonuç:
- Dokümanlar gerçeklikten kopar
- Frontend ekipler güvenini kaybeder
- SDK üretimi güvenilmez hâle gelir
- Spec’i sürdürmek yük gibi hissedilir
OpenAPI, bir değer olmaktan çok angarya olur.
Yelix Farklı Ne Yapıyor?
Yelix, Hono ve Deno üzerine kurulu backend-öncelikli bir framework’tür.
OpenAPI’yi ayrı bir doküman olarak değil, gerçek backend mantığının bir yan ürünü olarak ele alır.
Dokümantasyonu manuel yazmak yerine şunları tanımlarsın:
- Rota
- Doğrulama
- Yanıt şeması
- Metadata
Tek bir yerde.
Bu tek tanımdan Yelix şunları üretir:
- Tip güvenli handler’lar
- OpenAPI 3.1 spec’i
- Etkileşimli dokümantasyon
- Şema tutarlılığı
Kopya yok.
YAML bakıcılığı yok.
Spec kayması yok.
Tek Tanım. Her Şey.
Temel fikir budur.
Doğrulama ve yanıt şemasıyla birlikte rotanı tanımlarsın. Bu, gerçek kaynak olur.
Bu kaynaktan Yelix:
- İstekleri doğrular
- TypeScript tiplerini çıkarır
- OpenAPI dokümantasyonunu üretir
- Dokümantasyon arayüzünü çalıştırır
- Her şeyi tutarlı tutar
Dokümantasyonu sürdürmeyi bırakırsın.
API’ni sürdürürsün.
Gerçek Backend İşleri İçin Tasarlandı
Yelix yalnızca bir OpenAPI üreticisi değildir.
Şunları içerir:
- Zod tabanlı istek doğrulama
- Query ve path parametre doğrulama
- JSON body doğrulama
- OpenAPI 3.1 desteği
- Scalar UI entegrasyonu
- Middleware desteği
- Dashboard desteği
- Deno-native çalışma zamanı
Modern backend iş akışlarına zorlayıcı soyutlamalar getirmeden uyum sağlar.
Neden Önemli?
OpenAPI otomatik olduğunda:
- Dokümantasyon her zaman doğrudur
- Frontend ekipler ona güvenebilir
- SDK’lar güvenle üretilebilir
- Refactor daha az risklidir
- API tasarımı daha bilinçli olur
Dokümantasyon sürüklenmesiyle uğraşmak yerine ürünü inşa etmeye odaklanırsın.
Asıl fayda budur.
Felsefe
Sorun hiçbir zaman OpenAPI değildi.
Sorun kopyaydı.
API tanımın, doğrulama kuralların, tiplerin ve dokümantasyonun farklı yerlerde yaşıyorsa, tutarsızlık kaçınılmazdır.
Yelix kopyayı kaldırır.
Tek tanım.
Tek kaynak.
Her şey ondan üretilir.
Aptal OpenAPI sorununa basit çözüm budur.
Deno’da API’ler geliştiriyor ve dokümantasyonunun artık sana yalan söylemesini istemiyorsan, Yelix’e ciddi şekilde bakmaya değer.