# MVC包的使用
mvc包简介
- 在
Iris
框架中,封装了mvc
包作为对mvc
架构的支持,方便开发者遵循mvc
的开发原则进行开发。 Iris
框架支持请求数据、模型、持久数据分层处理,并支持各层级模块代码绑定执行。MVC
即:model
、view
、controller
三个部分,分别代表数据层、视图层、控制层。控制器层负责完成页面逻辑、实体层负责完成数据准备与数据操作、视图层负责展现UI效果。
# 1 mvc.Application
iris
框架中的mvc
包中提供了Application
结构体定义。开发者可以通过注册自定义的controller
来使用对应提供的API
,其中包含路由组router.Party
,以此用来注册layout、middleware
以及相应的handlers
等。
# 2 iris.mvc特性
iris
框架封装的mvc
包,支持所有的http
方法。比如,如果想要提供GET
,那么控制器应该有一个名为Get()
的函数,开发者可以定义多个方法函数在同一个Controller
中提供。这里的Get、Post
方法是指的直接和八种请求类型同名的方法,mvc
模块会自动执行到Get()、Post()
等八种对应的方法。如下所示:
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/mvc"
)
//自定义的控制器
type CustomController struct{}
//自动处理基础的Http请求
//Url: http://localhost:8000
//Type:GET请求
func (cc *CustomController) Get() mvc.Result{
//todo
return mvc.Response{
ContentType:"text/html",
}
}
/**
* Url:http://localhost:8000
* Type:POST
**/
func (cc *CustomController) Post() mvc.Result{
//todo
return mvc.Response{}
}
func main() {
app := iris.New()
//注册自定义控制器处理请求
mvc.New(app).Handle(new(CustomController))
app.Run(iris.Addr(":8085"))
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
← 错误处理 Golang语言编码规范 →