C(controller)模块
结构体
type Controller struct {
// context data
Ctx *context.Context
Data map[interface{}]interface{} //上下文数据
// route controller info
controllerName string
actionName string
methodMapping map[string]func() //method:routertree
gotofunc string
AppController interface{} //路由控制信息
// template data
TplName string
ViewPath string
Layout string
LayoutSections map[string]string // the key is the section name and the value is the template name
TplPrefix string
TplExt string
EnableRender bool //模板信息
// xsrf data
_xsrfToken string
XSRFExpire int
EnableXSRF bool /XSRF数据
CruSession session.Store // session
}
XSRF结构
控制接口
ControllerInterface
type ControllerInterface interface {
Init(ct *context.Context, controllerName, actionName string, app interface{})
/*
主要用来初始化Context、 Controller 名称,模板名,
初始化模板参数的容器 Data, app 可以用来执行子类的方法
*/
Prepare()
/*
这个函数主要是为了用户扩展用的,这个函数会在下面定义的这些 Method 方法之前执行,
用户可以重写这个函数实现类似用户验证之类。
*/
Get() //如果用户请求的 HTTP Method 是 GET,那么就执行该函数
Post() //如果用户请求的 HTTP Method 是 POST,那么就执行该函数
Delete() // 如果用户请求的 HTTP Method 是 DELETE,那么就执行该函数
Put() //如果用户请求的 HTTP Method 是 PUT,那么就执行该函数
Head() //如果用户请求的 HTTP Method 是 HEAD,那么就执行该函数
Patch() //如果用户请求的 HTTP Method 是 PATCH,那么就执行该函数
Options() //如果用户请求的HTTP Method是OPTIONS,那么就执行该函数
Finish()
/*
这个函数是在执行完相应的 HTTP Method 方法之后执行的,默认是空,用户可以在子 struct 中重写这
个函数,执行例如数据库关闭,清理数据之类的工作。
*/
Render() error
//这个函数主要用来实现渲染模板,如果 beego.AutoRender 为 true 的情况下才会执行。
XSRFToken() string
CheckXSRFCookie() bool
HandlerFunc(fn string) bool
URLMapping()
---------------------
作者:Clown95
来源:CSDN
原文:https://blog.csdn.net/yang731227/article/details/82254010
版权声明:本文为博主原创文章,转载请附上博文链接!