Para evitar saturar el archivo principal con definiciones de rutas, puede agrupar rutas en archivos separados. Este enfoque permite una mejor organización y mantenimiento del código.
Para crear una agrupación de rutas anidadas, puede almacenar la variable del enrutador en una estructura o variable global. Luego, los archivos individuales pueden agregar controladores a esta instancia de enrutador compartido.
routes.go
package app
import (
"github.com/gin-gonic/gin"
)
type routes struct {
router *gin.Engine
}
func NewRoutes() routes {
return routes{
router: gin.Default(),
}
}
func (r routes) addPing(rg *gin.RouterGroup) { }
func (r routes) addUsers(rg *gin.RouterGroup) { }
func (r routes) Run(addr ...string) error { return r.router.Run() }
ping.go
package app
import "github.com/gin-gonic/gin"
func (r routes) addPing(rg *gin.RouterGroup) {
ping := rg.Group("/ping")
ping.GET("/", pongFunction)
}
users.go
package app
import "github.com/gin-gonic/gin"
func (r routes) addUsers(rg *gin.RouterGroup) {
users := rg.Group("/users")
users.GET("/", getUsersFunction)
}
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3