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

3. beeGo 自己写Controller 和 请求数据处理的更多相关文章

  1. go系列(5)- beego自己写controller

    前边的系列文章已经讲述了如何安装环境, beego的处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller. 我们在写自己的controller的时候,一定要继承bee ...

  2. Go语言之高级篇beego框架之Controller

    一.Controller 控制器 Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller.写controller的时 ...

  3. spring MVC 管理HttpClient---实现在java中直接向Controller发送请求

    在spring MVC中,大多数时候是由客户端的页面通过ajax等方式向controller发送请求,但有时候需要在java代码中直接向controller发送请求,这时可以使用HttpCilent实 ...

  4. 以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewControllers方法即可达到效果了

    以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewC ...

  5. Ajax向Controller发送请求并接受数据需要注意的一个细节

    想用Ajax想向Controller发送请求和接收返回的字符等等.Controller中要使用@ResponseBody注解. <script type="text/javascrip ...

  6. 关于如何在其他包中写controller和简单介绍@SpringBootApplication

    本文参考博客:https://blog.csdn.net/u013473691/article/details/52353923 关于@Configuration和@Bean参考博客:https:// ...

  7. Jmeter使用基础笔记-写一个http请求

    前言 本篇文章主要讲述2个部分: 搭建一个简单的测试环境 用Jmeter发送一个简单的http请求 搭建测试环境 编写flask代码(我参考了开源项目HttpRunner的测试服务器),将如下的代码保 ...

  8. Spring MVC的Controller接受请求方式以及编写请求处理方法

    Controller接受请求参数的常见方法: 1.通过Bean接受请求参数: 创建POJO实体类 创建pojo包,并在该包中创建实体类UserForm,代码: package pojo; public ...

  9. springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。

    springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...

随机推荐

  1. c语言二分法

    #include <stdio.h> #include <stdlib.h> int Search(int *a,int key) { ,mid; ; while(low< ...

  2. Vagrant (3) —— 复制/备份Vagrant Box

    Vagrant (3) -- 复制/备份Vagrant Box 摘要 介绍复制/备份Vagrant Box基本方法 版本 Vagrant版本: 1.8.1 内容 复制vagrant box并压缩 关闭 ...

  3. RavenDb学习(七) 异步工作以及维度查询

    .异步执行 var entity = new Company {Name = "Async Company #2", Id = "companies/2"}; ...

  4. pdf ppt word office转图片 教学白板

    https://zh-cn.libreoffice.org/ http://www.imagemagick.org/script/ 首先用libreoffice将ppt转换为pdf格式,然后再用con ...

  5. 通过 Spark R 操作 Hive

    作为数据工程师,我日常用的主力语言是R,HiveQL,Java与Scala.R是非常适合做数据清洗的脚本语言,并且有非常好用的服务端IDE——RStudio Server:而用户日志主要储存在hive ...

  6. jquery学习心得:一个很好的css和js函数调用的例子

    统一目录下的资源结构图: <html><head> <link rel="stylesheet" href="gallery.css&quo ...

  7. [spark 快速大数据分析读书笔记] 第一章 导论

    [序言] Spark 基于内存的基本类型 (primitive)为一些应用程序带来了 100 倍的性能提升.Spark 允许用户程序将数据加载到 集群内存中用于反复查询,非常适用于大数据和机器学习. ...

  8. Linux 文件编码格式转换

    如果需要在Linux 中操作windows下的文件,那么经常遇到文件编码转换的问题. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-. 查看文件编码 在vim 中 ...

  9. 关于GO语言遇到illegal UTF-8 encoding 随手记录

    在使用汉字的时候会报错 解决方案 editpad++ 修改编码为UTF-8 保存就可以了~bingo

  10. 【转】关于HTTP服务器每个客户端2个连接的限制

    http://www.cnblogs.com/lishenglyx/archive/2010/01/07/1641190.html 这两天猫在家里搞一个多线程的断点续传得C#程序,发现同时只能开2个线 ...