zoukankan      html  css  js  c++  java
  • 3. beeGo 自己写Controller 和 请求数据处理

    Controller

    Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller。
    我们在写自己的controller的时候,一定要继承beego.Controller,也一定要记得导入 github.com/astaxie/beego

    开始动手

    1. 我们先在router/router.go里面添加一条路由,路由指向我们自己的目录,
    beego.Router("/test", &controllers.TestContronller{}, "get:SelfTest")
    
    1. 然后在controllers目录下创建一个test.go文件,文件代码如下:
    // test
    package controllers  // 包一定是这个名
    
    import (
    	"github.com/astaxie/beego"
    )
    
    type TestContronller struct {
    	beego.Controller
    }
    
    func (c *TestContronller) SelfTest() {
    	c.Ctx.WriteString("this is myself  controller!")
    }
    

    注意这个package 必须是controllers,新建的话一般都是main,所以记得修改。

    然后我们重启下beeGo,访问http://127.0.0.1/test 就可以看到我们自己返回的内容了。

    获取用户请求数据的方法

    用户通常通过Get,Post等方式来发送数据,beeGo里面会自动解析这些数据,我们可以用下面这些方法来处理。

    1. GetString(key string) string
    2. GetStrings(key string) []string
    3. GetInt(key string) (int64,error)
    4. GetBool(key string)(bool,error)
    5. GetFloat(key string)(float64,error)

    小试身手

    GetString

    我们先从GetString 这个方法来做:
    1 先在router.go加上对应的路由规则

    beego.Router("/getdata", &controllers.TestContronller{}, "get:GetData")
    

    2 然后在controllers/test.go里面写上自己的代码,

    package controllers
    
    import (
    	"github.com/astaxie/beego"
    )
    
    type TestContronller struct {
    	beego.Controller
    }
    
    
    func (c *TestContronller) GetData() {
    	id := c.GetString("id")
    	c.Ctx.WriteString(id)
    	name := c.Input().Get("name")
    	c.Ctx.WriteString(name)
    }
    

    代码写完后重启,此时,我们访问 http://127.0.0.1/getdata?id=hehe&name=lisis 那么页面就会显示 hehe lisis

  • 相关阅读:
    搭建好lamp,部署owncloud。
    部署LAMP环境搭建一个网站论坛平台
    二进制编译安装httpd服务
    安装httpd服务并配置
    FTP的应用
    Linux配置IP,安装yum源
    RHEL-server-7.0-Linux-centos安装过程
    zabbix监控某一进程
    python获取windows系统的CPU信息。
    python相关cmdb系统
  • 原文地址:https://www.cnblogs.com/liaojiafa/p/7806917.html
Copyright © 2011-2022 走看看