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()
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~