Gin Yönlendiricisi ve Rota Grupları
Motor kurulumu, gruplar ve yol parametreleri
Gin Yönlendiricisi ve Rota Grupları, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
Gin nedir?
Gin, Go için yüksek performanslı bir HTTP web çatısıdır. Bir radix ağacı yönlendiricisi kullanır, ara yazılım desteği, JSON bağlama ve doğrulama sağlar; bu özellikler onu REST API'leri için popüler kılar.
Kurulum ve temel ayarlar
Bir Gin motorunu içe aktarın ve oluşturun:
go get github.com/gin-gonic/gin
package main
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "pong"})
})
r.Run(":8080")
}gin.Default ve gin.New karşılaştırması
gin.Default(), Logger ve Recovery ara yazılımlarını içerir. gin.New() hiçbir ara yazılım içermeyen bir motor oluşturur; ara yazılım üzerinde tam denetim istediğinizde bunu kullanın.
Rota yöntemleri
HTTP yöntemleri için rotalar kaydedin: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD ve Any:
r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)Yol parametreleri
Yol parametrelerini c.Param("name") ile çıkarın:
r.GET("/users/:id", func(c *gin.Context) {
id := c.Param("id")
c.JSON(200, gin.H{"id": id})
})Sorgu parametreleri
Sorgu parametrelerini c.Query ve c.DefaultQuery ile okuyun:
page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absentRota grupları
İlişkili rotaları r.Group ile ortak bir ön ek altında gruplayın. Gruba uygulanan ara yazılım, gruptaki tüm rotaları etkiler:
api := r.Group("/api/v1")
{
api.GET("/users", listUsers)
api.POST("/users", createUser)
api.PUT("/users/:id", updateUser)
}İç içe gruplar
Gruplar, ayrıntılı bir düzenleme için iç içe yerleştirilebilir:
admin := r.Group("/admin")
admin.Use(AdminAuth())
{
admin.GET("/stats", getStats)
admin.DELETE("/users/:id", deleteUser)
}Rota yok veya yönteme izin verilmiyor
r.NoRoute ve r.NoMethod ile 404 ve 405 durumlarını uygun biçimde ele alın:
r.NoRoute(func(c *gin.Context) {
c.JSON(404, gin.H{"error": "not found"})
})Statik dosyalar
Statik dosyaları bir dizinden sunun:
r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")http.Handler olarak Engine
Gin'in *gin.Engine öğesi http.Handler uygular; bu nedenle zaman aşımı yapılandırması için özel bir http.Server ile kullanabilirsiniz:
srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()Hızlı Kontrol
Gin'de rota gruplarını kullanmanın avantajı nedir?
Özet: Gin Yönlendiricisi ve Gruplar
Temel noktalar:
- gin.Default(), Logger+Recovery içerir; özel ayarlar için gin.New() kullanılır
- Yol parametreleri için c.Param; sorgu parametreleri için c.Query
- Ortak ön ek ve ara yazılım için r.Group("/prefix")
- Gin, http.Handler uygular; özel bir http.Server ile kullanın
Sıkça Sorulan Sorular
“Gin Yönlendiricisi ve Rota Grupları” dersi ücretsiz mi?
Evet — “Gin Yönlendiricisi ve Rota Grupları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Gin Yönlendiricisi ve Rota Grupları” dersinde ne öğreneceğim?
Motor kurulumu, gruplar ve yol parametreleri Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Gin Yönlendiricisi ve Rota Grupları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Gin Yönlendiricisi ve Rota Grupları
- İstek Bağlama ve Doğrulama
- Yanıt Yardımcıları ve Durum Kodları
- Gin Ara Katmanı: Kimlik Doğrulama ve Günlükleme