iris当中的路由组
路由分组 直接上代码:
package main
import (
"github.com/kataras/iris"
"github.com/kataras/iris/context"
)
func main(){
app := iris.New()
//1.路由组请求
usersParty := app.Party("/users", func(context context.Context) {
//处理下一级请求
context.Next()
})
//1.1路由组下面的下一级请求 比如 /users/register
usersParty.Get("/register", func(context context.Context) {
app.Logger().Info("请求成功!")
context.HTML("<h1>请求成功!</h1>")
})
//2.路由组请求 里面的匿名函数我们改成了中间件的形式 你可以在这个路由中间件当中做很多事情
adminParty := app.Party("/admin",userMiddleware)
//2.2 Done adminParty整个路由请求组完成之后的操作 并且这个Done的位置还挺有讲究 放在子路由的上边 路由分组的下边就行哈 别乱放!
adminParty.Done(func(context context.Context) {
context.Application().Logger().Infof("request sent to" + context.Path())
})
//2.1 路由组下面的下一级请求 /admin/info
adminParty.Get("/info", func(context context.Context) {
context.HTML("<h1>用户信息</h1>")
//路由请求完成之后可以写 context.Next() 那么这个时候就会去执行 adminParty.Done() 里面你可以做一些路由请求完成之后的事情! 当然你也可以不写那么就不会去请求Done
context.Next()
})
app.Run(iris.Addr(":8012"),iris.WithoutServerError(iris.ErrServerClosed))
}
//路由组中间件
func userMiddleware(context iris.Context){
context.Next()
}