«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как организовать маршруты в Gin: руководство по определению сгруппированных маршрутов?

Как организовать маршруты в Gin: руководство по определению сгруппированных маршрутов?

Опубликовано 8 ноября 2024 г.
Просматривать:461

How to Organize Routes in Gin: A Guide to Grouped Route Definition?

Как организовать маршруты в Gin

Чтобы не загромождать основной файл определениями маршрутов, вы можете группировать маршруты в отдельные файлы. Такой подход обеспечивает лучшую организацию кода и удобство обслуживания.

Чтобы создать вложенную группировку маршрутов, вы можете сохранить переменную маршрутизатора в структуре или глобальной переменной. Затем отдельные файлы могут добавлять обработчики к этому общему экземпляру маршрутизатора.

Пример реализации

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)
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3