Golang Gin-Gonic 将路由拆分成多个文件

标签 go package go-gin

我希望将我的 routes.go 分成多个文件,以便每个组都在自己的包中。有人可以指出一些代码示例,其中有人使用 Gin 完成了此操作吗?

package auth
...
auth = route.Group("/auth"){
    auth.GET(...
    auth.POST(...
}
...

package users
...
user = route.Group("/user"){
    user.GET(...
    user.POST(...
}
...

package main
import (
     "auth"
     "users"
)
...
router = gin.Default()
router.Register(auth.auth, users.user)
router.Run()
...

最佳答案

这样做的方法是在每个函数中创建一个函数,将路由作为参数,然后将路由添加到参数中:

package auth
import "...gin"
func Routes(route *gin.Engine)
auth := route.Group("/auth"){
    auth.GET(...
    auth.POST(...
}
...

package users
import "...gin"
func Routes(route *gin.Engine)
user := route.Group("/user"){
    user.GET(...
    user.POST(...
}
...

package main
import (
     "github.com/username/package/sub/auth"
     "github.com/username/package/sub/users"
     "github.com/gin-gonic/gin"
)
...
router := gin.Default()
auth.Routes(router) //Added all auth routes
user.Routes(router) //Added all user routes
router.Run()
...

关于Golang Gin-Gonic 将路由拆分成多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42967235/

相关文章:

Golang net.Listen IPv6

lisp - 将包导入 SLIME REPL

Golang 模板不会加载

go - 如何测试表格提交

string - 使用字符串作为函数名 - golang

http - net.Dialer#KeepAlive和http.Transport#IdleTimeout有什么区别?

struct - 在 golang 中的同一结构中的函数中引用另一个字段

r - 加载 R 包时连接到数据库

java - 使用 Java 创建和编辑 Excel 文档 (.csv)

go - 在 gin 路由器中使用现有的 session cookie