0Pricing
Go Academy · Lección

Router Gin y grupos de rutas

Configuración del engine, grupos y parámetros de ruta

Router Gin y grupos de rutas es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.

¿Qué es Gin?

Gin es un framework web HTTP de alto rendimiento para Go. Utiliza un enrutador basado en un árbol radix, proporciona compatibilidad con middleware, vinculación de datos JSON y validación, por lo que es popular para las API REST.

Instalación y configuración básica

Importe y cree un motor de 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 frente a gin.New

gin.Default() incluye el middleware Logger y Recovery. gin.New() crea un motor sin middleware; úselo cuando necesite tener un control total sobre el middleware.

Métodos de ruta

Registre rutas para los métodos HTTP GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD y Any:

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

Parámetros de ruta

Extraiga los parámetros de ruta con c.Param("name"):

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

Parámetros de consulta

Lea los parámetros de consulta con c.Query y c.DefaultQuery:

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

Grupos de rutas

Agrupe las rutas relacionadas bajo un prefijo común con r.Group. El middleware aplicado al grupo afecta a todas las rutas que contiene:

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

Grupos anidados

Los grupos pueden anidarse para lograr una organización más precisa:

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

Ruta inexistente o método no permitido

Gestione correctamente las respuestas 404 y 405 con r.NoRoute y r.NoMethod:

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

Archivos estáticos

Sirva archivos estáticos desde un directorio:

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

El motor como http.Handler

El *gin.Engine de Gin implementa http.Handler, por lo que puede usarlo con un http.Server personalizado para configurar los tiempos de espera:

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

Comprobación rápida

¿Qué ventaja ofrece usar grupos de rutas en Gin?

Recapitulación: enrutador y grupos de Gin

Puntos clave:

  • gin.Default() incluye Logger y Recovery; use gin.New() para una configuración personalizada
  • c.Param para los parámetros de ruta; c.Query para los parámetros de consulta
  • r.Group("/prefix") para compartir un prefijo y middleware
  • Gin implementa http.Handler; úselo con un http.Server personalizado

Preguntas frecuentes

¿La lección «Router Gin y grupos de rutas» es gratis?

Sí — el texto completo de «Router Gin y grupos de rutas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Router Gin y grupos de rutas»?

Configuración del engine, grupos y parámetros de ruta Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Go Academy?

No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Router Gin y grupos de rutas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Go Academy?

Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Router Gin y grupos de rutas
  2. Vinculación y validación de solicitudes
  3. Helpers de respuesta y códigos de estado
  4. Middleware de Gin: autenticación y registro
← Volver a Go Academy