1. 静态路由:
静态路由是最简单的路由形式,直接匹配指定的路径。
func init() {
s := g.Server()
// 静态路由
s.BindHandler("/hello", controller.Hello)
}
2. 动态路由参数:
动态路由参数允许在路由中包含变量,这些变量可以通过 r.Get 方法获取。
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)
}
3. 正则路由:
使用正则表达式来匹配路由,可以更灵活地定义路由规则。
func init() {
s := g.Server()
// 正则路由
s.BindHandler(`^/user/(\d+)$`, controller.UserInfo)
}
在控制器中获取匹配的正则参数:
func UserInfo(r *ghttp.Request) {
userId := r.Get(1)
r.Response.Write("User ID: " + userId)
}
4. RESTful 路由:
RESTful 风格的路由是一种按照资源和 HTTP 方法来定义的路由规则。
func init() {
s := g.Server()
// RESTful 路由
s.BindRest("/api/user", controller.RestfulUser)
}
在控制器中处理 RESTful 请求:
func RestfulUser(r *ghttp.Request) {
switch r.Method {
case "GET":
// 处理 GET 请求
case "POST":
// 处理 POST 请求
case "PUT":
// 处理 PUT 请求
case "DELETE":
// 处理 DELETE 请求
default:
r.Response.WriteStatus(http.StatusMethodNotAllowed)
}
}
这只是一些 GoFrame 中常见的路由规则示例,具体的使用方法和功能可能会根据 GoFrame 版本的更新而变化,因此建议查阅最新的 GoFrame 文档以获取准确的信息。在编写代码时,可以根据项目需求选择合适的路由规则。
转载请注明出处:http://www.zyzy.cn/article/detail/7806/GoFrame