为了账号安全,请及时绑定邮箱和手机立即绑定

如何从单独的文件中设置 Go Fiber V2 中的路由组?

如何从单独的文件中设置 Go Fiber V2 中的路由组?

Go
函数式编程 2022-11-08 14:28:36
我想为每个子主要路线制作单独的文件。我正在使用 go 1.17main.gopackage mainimport (    "rolling_glory_go/routes"    "github.com/gofiber/fiber/v2")func main() {    app := fiber.New()    app.Get("/", func(c *fiber.Ctx) error {        err := c.SendString("Hello golang!")        return err    })    routes.R_login(app.Group("/login"))    routes.R_users(app.Group("/users"))    app.Listen(":3000")}我想从中导入路由r_login.go,r_users.go因此我可以管理来自不同文件的许多路由,而不是将单个文件中的许多路由放入main.go. 我收到这样的错误。.\main.go:17:26: cannot use app.Group("/login") (type fiber.Router) as type *fiber.Group in argument to routes.R_login: need type assertion.\main.go:18:26: cannot use app.Group("/users") (type fiber.Router) as type *fiber.Group in argument to routes.R_users: need type assertion我的结构文件夹r_login.gopackage routesimport "github.com/gofiber/fiber/v2"func R_login(router *fiber.Group) {    router.Get("/", func(c *fiber.Ctx) error {        return c.SendString("respond with a resource")    })}r_users.gopackage routesimport "github.com/gofiber/fiber/v2"func R_users(router *fiber.Group) {    router.Get("/", func(c *fiber.Ctx) error {        return c.SendString("respond with a resource")    })}如何解决这个问题?
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

由于您有app.Group("/login")which 类型fiber.Router ,只需修改R_login以使其接受此类型。


package routes


import "github.com/gofiber/fiber/v2"


func R_login(router fiber.Router) {

    router.Get("/", func(c *fiber.Ctx) error {

        return c.SendString("respond with a resource")

    })

}


查看完整回答
反对 回复 2022-11-08
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信