Go dilinde API geliştirirken, API'nizin nasıl kullanılacağına dair net bir dokümantasyon sağlamak önemlidir. Swagger (şimdi OpenAPI olarak da bilinir), API'lerinizi tanımlamanın, oluşturmanın, belgelemenin ve kullanmanın standart bir yolunu sunar. Bu yazıda, Go'da Swagger dokümantasyonu nasıl oluşturulur ve projenize nasıl entegre edilir adım adım anlatılacaktır.
Adım 1: Swag CLI Kurulumu
İlk adım olarak, swag
CLI aracını kurarak başlayalım. Bu araç, Go projenizdeki yorumları okuyup otomatik olarak Swagger dokümantasyonu oluşturacak.
go get -u github.com/swaggo/swag/cmd/swag
Adım 2: API Yorum Satırlarını Yazma
Dokümantasyonunuzu otomatik olarak oluşturabilmek için, API handler fonksiyonlarınıza özel yorum satırları eklemeniz gerekiyor. Bu yorumlar, swag
'ın dokümantasyonunuzu oluştururken kullanacağı meta verileri sağlar.
// GetUser godoc
// @Summary Kullanıcı detaylarını getirir
// @Description Kullanıcı detaylarını ID'ye göre getirir
// @Tags users
// @Accept json
// @Produce json
// @Param id path int true "User ID"
// @Success 200 {object} User
// @Router /users/{id} [get]
func GetUser(w http.ResponseWriter, r *http.Request) {
// Handler logic here
}
Adım 3: Swagger Dokümantasyonunu Oluşturma
Kodunuzdaki yorum satırlarına dayanarak Swagger dokümantasyonunu oluşturmak için projenizin kök dizininde swag init
komutunu çalıştırın.
swag init -d ./application/cmd/server,./application/app/controllers/ilanlar,./application/app/controllers/ihaleler,./application/app/controllers/teklifler,./application/app/controllers/kullanicilar --parseDependency --parseInternal
Bu komut, docs
dizini altında Swagger dokümantasyon dosyalarını (swagger.json
, swagger.yaml
ve docs.go
) oluşturur.
Adım 4: Swagger UI Entegrasyonu
Oluşturulan Swagger dokümantasyonunu bir web arayüzünde görüntülemek için swaggo/http-swagger
paketini projenize dahil edin. Bu paket, Swagger UI'ı Go web uygulamanıza entegre etmenizi sağlar.
import "github.com/swaggo/http-swagger" // http-swagger middleware
// Serve the swagger UI
http.Handle("/swagger", httpSwagger.WrapHandler)
Adım 5: Sunucuyu Başlatma ve Dokümantasyonu Görüntüleme
Sunucunuzu başlattıktan sonra, http://localhost:7706/swagger/index.html
adresine giderek Swagger UI üzerinden API dokümantasyonunuzu görüntüleyebilirsiniz.
Top comments (0)