Routeur Gin et groupes de routes
Configuration du moteur, groupes et paramètres de chemin
Routeur Gin et groupes de routes est une leçon Go Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Go Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Go Academy comprend 4 leçons au total.
Qu’est-ce que Gin ?
Gin est un framework web HTTP haute performance pour Go. Il utilise un routeur en arbre radix, fournit la prise en charge des intergiciels, la liaison JSON et la validation, ce qui le rend populaire pour les API REST.
Installation et configuration de base
Importez et créez un moteur 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 et gin.New
gin.Default() inclut les intergiciels Logger et Recovery. gin.New() crée un moteur sans intergiciel : utilisez-le lorsque vous souhaitez contrôler entièrement les intergiciels.
Méthodes des routes
Enregistrez des routes pour les méthodes HTTP suivantes : GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD et Any :
r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)Paramètres de chemin
Extrayez les paramètres de chemin avec c.Param("name") :
r.GET("/users/:id", func(c *gin.Context) {
id := c.Param("id")
c.JSON(200, gin.H{"id": id})
})Paramètres de requête
Lisez les paramètres de requête avec c.Query et c.DefaultQuery :
page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absentGroupes de routes
Regroupez les routes associées sous un préfixe commun avec r.Group. L’intergiciel appliqué au groupe concerne toutes ses routes :
api := r.Group("/api/v1")
{
api.GET("/users", listUsers)
api.POST("/users", createUser)
api.PUT("/users/:id", updateUser)
}Groupes imbriqués
Les groupes peuvent être imbriqués pour une organisation précise :
admin := r.Group("/admin")
admin.Use(AdminAuth())
{
admin.GET("/stats", getStats)
admin.DELETE("/users/:id", deleteUser)
}Route inexistante et méthode non autorisée
Gérez correctement les erreurs 404 et 405 avec r.NoRoute et r.NoMethod :
r.NoRoute(func(c *gin.Context) {
c.JSON(404, gin.H{"error": "not found"})
})Fichiers statiques
Servez des fichiers statiques depuis un répertoire :
r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")Moteur comme http.Handler
Le *gin.Engine de Gin implémente http.Handler. Vous pouvez donc l’utiliser avec un http.Server personnalisé pour configurer les délais d’attente :
srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()Vérification rapide
Quel est l’avantage d’utiliser des groupes de routes dans Gin ?
Récapitulatif : routeur et groupes Gin
Points clés :
- gin.Default() inclut Logger et Recovery ; gin.New() permet une configuration personnalisée
- c.Param pour les paramètres de chemin ; c.Query pour les paramètres de requête
- r.Group("/prefix") pour partager un préfixe et un intergiciel
- Gin implémente http.Handler : utilisez-le avec un http.Server personnalisé
Apprends Go avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 51
- Leçons
- 203
Questions Fréquemment Posées
La leçon « Routeur Gin et groupes de routes » est-elle gratuite ?
Oui — le texte complet de « Routeur Gin et groupes de routes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Go Academy, passe à CoddyKit PRO. Le cours Go Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Routeur Gin et groupes de routes » ?
Configuration du moteur, groupes et paramètres de chemin Tu pratiques Go Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Go Academy ?
Aucune expérience préalable n'est requise. Go Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Routeur Gin et groupes de routes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Go Academy ?
Oui. Chaque leçon Go Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Routeur Gin et groupes de routes
- Association et validation des requêtes
- Assistants de réponse et codes d’état
- Intergiciel Gin : authentification et journalisation