4 poin oleh narubrown 2026-01-09 | Belum ada komentar. | Bagikan ke WhatsApp

Halo,

Pernah stres gara-gara komentar Swagger saat mengembangkan API dengan Go?

Saya selalu kesulitan seperti ini:

  • "Argumen ke-4 // @Param itu required atau description ya...?"
  • "Salah ketik dto.UserRequest, baru ketahuan saat runtime"
  • "Setiap kali harus mencari lagi arti komentar ini"

Karena itu, saya membuat ekstensi VS Code bernama Swaggo.

Bagaimana cara kerjanya?

Cara lama:

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

Kita harus menghafal urutannya, dan tidak langsung jelas mana yang apa.

Cara Swaggo:

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

Begitu diketik, format ini otomatis diubah menjadi komentar Swagger standar.
Di editor, tampilannya berupa anotasi yang lebih mudah dibaca, sementara di file aslinya disimpan sebagai komentar standar.

Fitur utama

Nama parameter eksplisit - tidak perlu menghafal urutan
Autocomplete IDE - nama anotasi, key, hingga tipe terisi otomatis
Inferensi tipe - struktur Go dikenali otomatis
Konversi real-time - langsung diubah menjadi komentar Swagger saat diketik
Pratinjau hover - hasil konversi bisa langsung dilihat
Snippet - menyediakan template GET/POST

Contoh penggunaan nyata

@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")  

Kenapa saya membuatnya?

Saat mengembangkan backend dengan Go di tim, pemeliharaan dokumentasi Swagger terasa sangat menyakitkan.

Saya menyambut feedback!

Saya penasaran apakah ini benar-benar akan membantu orang-orang yang mengembangkan API dengan Go.
Silakan coba, dan kalau ada hal yang kurang nyaman atau ide perbaikan, beri tahu saya!

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

Belum ada komentar.

Belum ada komentar.