Para evitar sobrecarregar o arquivo principal com definições de rotas, você pode agrupar rotas em arquivos separados. Essa abordagem permite melhor organização e manutenção do código.
Para criar um agrupamento de rotas aninhadas, você pode armazenar a variável do roteador em uma estrutura ou variável global. Arquivos individuais podem então adicionar manipuladores a esta instância de roteador compartilhado.
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)
}
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3