0Pricing
Go Academy · Lekcja

Router Gin i grupy tras

Konfiguracja silnika, grupy i parametry ścieżek

Router Gin i grupy tras to bezpłatna lekcja Go Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Go Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Go Academy zawiera 4 lekcji w sumie.

Czym jest Gin?

Gin to wysokowydajny framework webowy HTTP dla języka Go. Korzysta z routera opartego na drzewie radix, obsługuje middleware, wiązanie danych JSON i walidację, dzięki czemu jest popularnym wyborem do tworzenia interfejsów API REST.

Instalacja i podstawowa konfiguracja

Zaimportuj Gin i utwórz silnik:

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 a gin.New

gin.Default() dołącza middleware Logger i Recovery. gin.New() tworzy silnik bez middleware — używaj go, gdy chcesz mieć pełną kontrolę nad middleware.

Metody tras

Rejestruj trasy dla metod HTTP: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD oraz Any:

r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)

Parametry ścieżki

Wyodrębniaj parametry ścieżki za pomocą c.Param("name"):

r.GET("/users/:id", func(c *gin.Context) {
    id := c.Param("id")
    c.JSON(200, gin.H{"id": id})
})

Parametry zapytania

Odczytuj parametry zapytania za pomocą c.Query i c.DefaultQuery:

page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absent

Grupy tras

Grupuj powiązane trasy pod wspólnym prefiksem za pomocą r.Group. Middleware zastosowane do grupy wpływa na wszystkie należące do niej trasy:

api := r.Group("/api/v1")
{
    api.GET("/users", listUsers)
    api.POST("/users", createUser)
    api.PUT("/users/:id", updateUser)
}

Zagnieżdżone grupy

Grupy można zagnieżdżać, aby uzyskać szczegółową organizację:

admin := r.Group("/admin")
admin.Use(AdminAuth())
{
    admin.GET("/stats", getStats)
    admin.DELETE("/users/:id", deleteUser)
}

Brak trasy / niedozwolona metoda

Obsługuj błędy 404 i 405 w kontrolowany sposób za pomocą r.NoRoute i r.NoMethod:

r.NoRoute(func(c *gin.Context) {
    c.JSON(404, gin.H{"error": "not found"})
})

Pliki statyczne

Udostępniaj pliki statyczne z katalogu:

r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")

Silnik jako http.Handler

*gin.Engine w Gin implementuje interfejs http.Handler, więc można używać go z niestandardowym http.Serverem w celu skonfigurowania limitów czasu:

srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()

Szybkie sprawdzenie

Jaka jest zaleta używania grup tras w Gin?

Podsumowanie: router i grupy Gin

Najważniejsze informacje:

  • gin.Default() zawiera Logger i Recovery; gin.New() służy do niestandardowej konfiguracji
  • c.Param do parametrów ścieżki; c.Query do parametrów zapytania
  • r.Group("/prefix") do współdzielenia prefiksu i middleware
  • Gin implementuje http.Handler — używaj go z niestandardowym http.Serverem

Często zadawane pytania

Czy lekcja „Router Gin i grupy tras” jest bezpłatna?

Tak — pełny tekst „Router Gin i grupy tras” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Go Academy, przejdź na CoddyKit PRO. Kurs Go Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Router Gin i grupy tras”?

Konfiguracja silnika, grupy i parametry ścieżek Ćwiczysz Go Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Go Academy?

Nie wymagamy żadnego doświadczenia. Go Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Router Gin i grupy tras”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Go Academy?

Tak. Każda lekcja Go Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Router Gin i grupy tras
  2. Wiązanie żądań i walidacja
  3. Pomocnicze funkcje odpowiedzi i kody statusu
  4. Middleware Gin: uwierzytelnianie i logowanie
← Powrót do Go Academy