Router Gin e gruppi di route
Configurazione del motore, gruppi e parametri del percorso
Router Gin e gruppi di route è una lezione Go Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Go Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Go Academy include 4 lezioni in totale.
Che cos'è Gin?
Gin è un framework web HTTP ad alte prestazioni per Go. Utilizza un router basato su un albero radix, offre il supporto al middleware, il binding JSON e la convalida, caratteristiche che lo rendono molto diffuso per le API REST.
Installazione e configurazione di base
Importi e crei un motore Gin:
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 rispetto a gin.New
gin.Default() include i middleware Logger e Recovery. gin.New() crea un motore senza middleware: lo utilizzi quando desidera avere il pieno controllo sui middleware.
Metodi delle route
Registri le route per i metodi HTTP: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD e Any:
r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)Parametri del percorso
Estragga i parametri del percorso con c.Param("name"):
r.GET("/users/:id", func(c *gin.Context) {
id := c.Param("id")
c.JSON(200, gin.H{"id": id})
})Parametri di query
Legga i parametri di query con c.Query e c.DefaultQuery:
page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absentGruppi di route
Raggruppi le route correlate sotto un prefisso comune con r.Group. Il middleware applicato al gruppo influisce su tutte le route che ne fanno parte:
api := r.Group("/api/v1")
{
api.GET("/users", listUsers)
api.POST("/users", createUser)
api.PUT("/users/:id", updateUser)
}Gruppi annidati
I gruppi possono essere annidati per un'organizzazione più dettagliata:
admin := r.Group("/admin")
admin.Use(AdminAuth())
{
admin.GET("/stats", getStats)
admin.DELETE("/users/:id", deleteUser)
}Nessuna route o metodo non consentito
Gestisca in modo appropriato gli errori 404 e 405 con r.NoRoute e r.NoMethod:
r.NoRoute(func(c *gin.Context) {
c.JSON(404, gin.H{"error": "not found"})
})File statici
Serva i file statici da una directory:
r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")Engine come http.Handler
*gin.Engine di Gin implementa http.Handler, quindi può essere utilizzato con un http.Server personalizzato per configurare i timeout:
srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()Verifica rapida
Qual è il vantaggio di utilizzare i gruppi di route in Gin?
Riepilogo: router e gruppi di Gin
Punti chiave:
- gin.Default() include Logger+Recovery; gin.New() serve per una configurazione personalizzata
- c.Param per i parametri del percorso; c.Query per i parametri di query
- r.Group("/prefix") per condividere prefisso e middleware
- Gin implementa http.Handler: lo utilizzi con un http.Server personalizzato
Domande Frequenti
La lezione «Router Gin e gruppi di route» è gratuita?
Sì — il testo completo di «Router Gin e gruppi di route» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Go Academy, passa a CoddyKit PRO. Il corso Go Academy include 4 lezioni in totale.
Cosa imparerò in «Router Gin e gruppi di route»?
Configurazione del motore, gruppi e parametri del percorso Eserciti Go Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Go Academy?
Non è richiesta alcuna esperienza precedente. Go Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Router Gin e gruppi di route»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Go Academy?
Sì. Ogni lezione Go Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Router Gin e gruppi di route
- Binding e validazione delle richieste
- Helper per le risposte e codici di stato
- Middleware Gin: autenticazione e logging