iris框架的资料,不是太多,可能使用iris框架的人,都是实用主义吧,直接都是看实例来操作了。

在这里,我还是要简单说一下,以加深控制器的印象。控制器属于MVC中的C,C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

我们博客中,所有的控制器都存放在controller文件夹中。控制器的使用,需要绑定到路由中。现在我们已经在index.go 中创建了一个IndexPage控制器。控制器的执行需要将它绑定到路由中,用户请求对应的路由地址,才会执行到响应的控制器。

iris的路由可可以有GetPostPutDeleteHeadPatchOptions等,同一个路由路径,同样可以绑定不同的请求方式。分别对应HTTP中的各种方法:

app.Get("/", controller.IndexPage)
app.Post("/", controller.IndexPage)
app.Put("/", controller.IndexPage)
app.Delete("/", controller.IndexPage)
app.Patch("/", controller.IndexPage)
app.Head("/", controller.IndexPage)
app.Options("/", controller.IndexPage)

这样每一种方法,他都会执行controller.IndexPage控制器的代码。

控制器里在接收到请求后,将各种需求分发到模型中去执行,然后将返回结果,注入到view中,控制器的任务就算完成了。

具体控制器如何传递接收和处理数据、返回给view,我们将在后面的具体章节的实际开发应用中再做更详细的介绍。

完整的项目示例代码托管在GitHub上,需要查看完整的项目代码可以到github.com/fesiong/goblog 上查看,也可以直接fork一份来在上面做修改。