乐趣区

关于golang:基础配置篇博客的访问路径路由配置和控制器

上一章节咱们提到了路由配置,并且应用匿名函数写了一个 Hello World 的控制器,间接输入内容。然而在理论的我的项目的应用中,往往须要更多的路由入口和更自在的管制,也是为了页面逻辑更清晰,让各个 go 文件做到各司其职,因而咱们须要将路由配置独立编写到一个独立的文件中去。

独立路由文件

上面咱们就将路由配置放到后面咱们曾经创立好的 route 文件夹中,咱们命名一个 route.go 文件,并在外面增加内容:

package route

import ("github.com/kataras/iris/v12")

func Register(app *iris.Application) {app.Get("/", func(ctx iris.Context) {ctx.WriteString("Hello World")
    })
}

这里咱们定义了一个 Register 函数,并将上一节咱们在 bootstrap.go 写的匿名函数放到这里来,察看下是否失常。

route.go 曾经初步实现,咱们还须要在 bootstrap.go 中将这个函数绑定到 iris 中注册能力应用,咱们再关上 bootstrap.go,减少 LoadRoutes 函数,并对 Serv 函数进行革新:

func (bootstrap *Bootstrap) LoadRoutes() {route.Register(bootstrap.Application)
}

func (bootstrap *Bootstrap) Serve() {bootstrap.Application.Logger().SetLevel(bootstrap.LoggerLevel)

  // 在这里增加路由
    bootstrap.LoadRoutes()

    bootstrap.Application.Run(iris.Addr(fmt.Sprintf("127.0.0.1:%d", bootstrap.Port)),
        iris.WithoutServerError(iris.ErrServerClosed),
        iris.WithoutBodyConsumptionOnUnmarshal,
    )
}

好啦,咱们当初做一步,试一步,点击右上角的绿色实心三角形运行起来,来浏览器看看是否失常:

不出意外,咱们还是能看到 Hello World。

应用控制器

接着,咱们开始写控制器了。控制器能够独立解决单个路由。咱们仍然是先给首页写控制器。

在咱们后面创立的 controller 目录中,创立一个 index.go 文件,并写上 IndexPage 函数:

package controller

import ("github.com/kataras/iris/v12")

func IndexPage(ctx iris.Context) {ctx.WriteString("Hello World")
}

这里咱们仍然先试着输入 Hello World,看看成果。

函数写完了,咱们还须要在路由文件中,将这个函数注册到路由中,咱们再次关上 route.go,换掉匿名函数:

func Register(app *iris.Application) {app.Get("/", controller.IndexPage)
}

再次点击右上角的绿色实心三角形运行起来,来浏览器看看是否失常:

不出意外,咱们还是能看到 Hello World。

如果弹出上面这个提示框,请勾选复选框(Do not show this dialog in the future),让它不再提醒,并抉择 Stop and Rerun。

测试没有问题,接下来,咱们就能够在 IndexPage 函数中,写更多的业务逻辑代码了。下一节咱们持续。

残缺的我的项目示例代码托管在 GitHub 上,须要查看残缺的我的项目代码能够到 github.com/fesiong/goblog 上查看,也能够间接 fork 一份来在下面做批改。

退出移动版