3.Beego框架之Controller

1.Controller基本使用

基于 beego 的 Controller 设计,只需要匿名组合 beego.Controller 就可以了,如下所示:


image.png
image.png

beego.Controller 拥有很多方法,其中包括 Init、Prepare、Post、Get、Delete、Head等 方法。我们可以通过重写的方式来实现这些方法,而我们上面的代码就是重写了 Get 方法。
我们可以通过各种方式获取数据,然后赋值到 this.Data 中,这是一个用来存储输出数据的 map,可以赋值任意类型的值,这里我们只是简单举例输出两个字符串。
最后一个就是需要去渲染的模板,this.TplName 就是需要渲染的模板,这里指定了 index.tpl,如果用户不设置该参数,那么默认会去到模板目录的 Controller/<方法名>.tpl 查找,例如上面的方法会去 maincontroller/get.tpl(文件、文件夹必须小写)。
用户设置了模板之后系统会自动的调用 Render 函数(这个函数是在 beego.Controller 中实现的),所以无需用户自己来调用渲染。

示例:

这里我直接写了一个TestController


image.png

然后再路由进行设置,就可以在浏览器中直接访问了


image.png

image.png

2.Controller请求数据处理

1.通过get获取参数

image.png

image.png

image.png

2.通过结构体获取参数,此处演示Post提交表单

image.png
image.png

image.png

3.获取 Request Body 里的内容

  1. 在配置文件里设置 copyrequestbody = true
  2. 在 Controller 中


    image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • controller 逻辑 controller就是处理具体的逻辑的,router将请求分发到指定的control...
    若与阅读 9,665评论 0 10
  • Beego官网本身已经整理的非常详细了,但是作为一个学习者,我还是决定自己好好整理一下,这样在后面使用的时候自己对...
    上下求索zsh阅读 827评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,681评论 1 32
  • 模板处理 beego 的模板处理引擎采用的是 Go 内置的 html/template 包进行处理,而且 beeg...
    b77bb494e846阅读 5,611评论 0 0
  • GoLang-Beego.Godep 介绍你是一个从PHP,Python,Ruby等动态语言转移到Go的web应用...
    燕京博士阅读 1,290评论 0 3

友情链接更多精彩内容