4 puan yazan narubrown 2026-01-09 | Henüz yorum yok. | WhatsApp'ta paylaş

Merhaba,

Go ile API geliştirirken Swagger yorumları yüzünden hiç stres yaşadınız mı?

Ben her seferinde şöyle debelendim:

  • "// @Param'ın 4. argümanı required mıydı, description mıydı..."
  • "dto.UserRequest yazım hatası yaptım ama ancak çalışma zamanında fark ettim"
  • "Bu yorumun ne anlama geldiğini her seferinde aratmak"

Bu yüzden Swaggo adında bir VS Code eklentisi yaptım.

Nasıl çalışıyor?

Mevcut yöntem:

// @Param id query string true "사용자 ID"  
// @Success 200 {object} dto.UserResponse "성공"  

Sırayı ezberlemek gerekiyor ve neyin ne olduğu bir bakışta anlaşılmıyor.

Swaggo yöntemi:

@Param(name="id", in="query", type=string, required=true, desc="사용자 ID")  
@Success(code=200, schema=dto.UserResponse, desc="성공")  

Yazdığınız anda otomatik olarak standart Swagger yorumlarına dönüştürülür.
Editörde okunabilirliği yüksek açıklama biçiminde görünür, gerçek dosyada ise standart yorumlar olarak kaydedilir.

Başlıca özellikler

Açık parametre adları - sırayı ezberlemeye gerek yok
IDE otomatik tamamlama - açıklama adları, anahtarlar ve türler için otomatik tamamlama
Tür çıkarımı - Go struct'larını otomatik algılama
Gerçek zamanlı dönüşüm - yazılır yazılmaz Swagger yorumlarına dönüştürme
Hover önizleme - dönüşüm sonucunu anında görme
Snippet'ler - GET/POST şablonları sunar

Gerçek kullanım örneği

@Summary("교실 생성")  
@Description("새로운 교실을 생성합니다")  
@Tags("classroom", "admin")  
@Accept("json")  
@Produce("json")  
@Param(name="body", in="body", type=dto.CreateClassroomRequest, required=true, desc="교실 생성 요청")  
@Success(code=200, schema=dto.ClassroomResponse, desc="교실 생성 성공")  
@Failure(code=400, schema=echo.HTTPError, desc="잘못된 요청")  
@Router("/classrooms", "post")  

Neden yaptım?

Ekipte Go ile backend geliştirirken Swagger dokümantasyonunu bakımda tutmak çok sancılıydı.

Geri bildirimlere açığım!

Go ile API geliştirenler için gerçekten faydalı olup olmayacağını merak ediyorum.
Deneyip size rahatsızlık veren noktalar ya da iyileştirme fikirleri varsa lütfen paylaşın!

GitHub: https://github.com/NARUBROWN/swaggo.git

Henüz yorum yok.

Henüz yorum yok.