基本路由:
1. 定义路由:
- 在 boot/router.go 文件中,使用 g.Server() 对象的 BindHandler 方法定义路由。
// 文件:boot/router.go
package boot
import (
"YourProjectName/app/controller"
"github.com/gogf/gf/frame/g"
)
func init() {
s := g.Server()
// 绑定路由
s.BindHandler("/hello", controller.Hello)
}
2. 动态路由参数:
- 在路由中使用动态参数,可以通过 r.Get("paramName") 获取参数值。
func init() {
s := g.Server()
// 定义带有动态参数的路由
s.BindHandler("/user/:id", controller.UserInfo)
}
在控制器中获取参数:
func UserInfo(r *ghttp.Request) {
userId := r.Get("id")
r.Response.Write("User ID: " + userId)
}
路由组:
你可以使用路由组将多个相关的路由进行组织和管理。
func init() {
s := g.Server()
// 定义路由组
userGroup := s.Group("/user")
{
// 定义/user/hello路由
userGroup.BindHandler("/hello", controller.UserHello)
// 定义/user/info/:id路由
userGroup.BindHandler("/info/:id", controller.UserInfo)
}
}
中间件:
中间件是在处理请求前或请求后进行一些处理的函数,可以用于实现日志记录、身份验证等功能。
func init() {
s := g.Server()
// 使用中间件
s.BindHandler("/hello", controller.Hello).Middleware(Middleware1, Middleware2)
}
在上述示例中,Middleware1 和 Middleware2 是自定义的中间件函数。
这只是路由管理中的一些基本用法,GoFrame 还提供了更多高级的路由特性,如分组路由、RESTful 路由等。详细信息可以查阅 GoFrame 的官方文档:[https://goframe.org/pages/viewpage.action?pageId=1114449](https://goframe.org/pages/viewpage.action?pageId=1114449)。
转载请注明出处:http://www.zyzy.cn/article/detail/7805/GoFrame