🏭 F2 · Swagger Üretimi: springdoc / @nestjs/swagger

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.