F2 · Swagger Üretimi: springdoc /: Elle yazılan bir `openapi.yaml`, bir **fotokopisi eskiyen belge** gibidir: geliştirici kodu değiştirir (yeni bir alan ekler, bir status kodunu
Elle yazılan bir `openapi.yaml`, bir **fotokopisi eskiyen belge** gibidir: geliştirici kodu değiştirir (yeni bir alan ekler, bir status kodunu değiştirir) ama dokümanı güncellemeyi UNUTUR — zamanla doküman gerçeği yansıtmaz olur. `springdoc-openapi` (Spring/Java) ve `@nestjs/swagger` (NestJS), bu riski ortadan kaldıran bir **otomatik fotokopi makinesidir**: spec'i elle yazmazsın, KODUN KENDİSİNDEN (annotation'lardan/decorator'lardan) her build'de otomatik üretilir — kod ile doküman ASLA birbirinden kopamaz, çünkü doküman kodun bir YANSIMASIdır. Peki neden Express'in (GRUP C) bu tür bir otomatik üretici KÜTÜPHANESİ yoktur (ya da manuel kurulum gerektirir) — çünkü kod zaten sözleşmeyi annotation/decorator olarak İÇERMİYOR: Express'te route tanımı ve validation kuralı ayrı ayrı fonksiyonlarda yaşar, üretici bunlardan "sözleşmeyi" çıkaracak sabit bir kalıp bulamaz; Spring/Nest'te ise `@GetMapping`/`@Get()`, `@RequestBody`/`@Body()` zaten sözleşmeyi yapısal olarak TAŞIR, üretici bunu OKUYUP spec'e çevirir. QA açısından bu fark kritiktir: springdoc/`@nestjs/swagger` ile üretilen bir spec, koddan SAPMASI mimarî olarak daha ZOR olan bir spec'tir — ama F5'te göreceğin gibi, "daha zor" imkânsız demek değildir.
Aynı Kod, Otomatik Doğan Spec
Micro Lab: Kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Kod yazma
Amaci ve girdiyi belirle
Kritik satiri tamamla
Cikti veya davranisi kontrol et
Hata mesajini kanit olarak oku
Duzeltmeyi tekrar calistir
Kod okuma ve dogrulama akisini sirala.
🎬 Kod Değişir, Doküman Kendiliğinden Güncellenir
springdoc/@nestjs/swagger
Geliştirici bir controller'a yeni bir `@Get('stats')` metodu ekler.