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 controllersimport ("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. 写个日志请求切面,前后端甩锅更方便

    写个日志请求切面,前后端甩锅更方便 最近项目进入联调阶段,服务层的接口需要和协议层进行交互,协议层需要将入参 [json 字符串] 组装成服务层所需的 json 字符串,组装的过程中很容易出错.入参出 ...

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

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

  4. ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记

    任务20:Consent Controller Get请求逻辑实现 接着上一节的思路,实现一下 ConsentController 根据流程图在构造函数注入 IClientStore,IResourc ...

  5. AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理

    AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...

  6. 《Springboot极简教程》继承WebMvcConfigurerAdapter: 一行代码写Controller

    文章概要 registry.addViewController("/login").setViewName("login"); 常用的写Controller类方 ...

  7. extjs发送请求与controller接收请求

    extjs中发送请求,参数以form表单形式上送 <!DOCTYPE html> <html><head><meta charset="UTF-8& ...

  8. ajax传值controller怎么写,关于ajax请求Controller传值问题详细记录

    请求基本样式 ajax请求接口: (1) 接口: @RequestMapping(value="/test",method=RequestMethod.POST) public v ...

  9. 我也没想到,Java开发 API接口可以不用写 Controller了

    大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便分享一点工作中使用它的心得 缘起 先说一下我为什么会使用这个工具? 最近新启动一个项目,业务并不算复杂,那种典型的管理 ...

  10. 开源个.NetCore写的 - 并发请求工具PressureTool

    本篇和大家分享的是一个 并发请求工具,并发往往代表的就是压力,对于一些订单量比较多的公司这种情况很普遍,也因此出现了很多应对并发的解决方案如:分布式,队列,数据库锁等: 对于没有遇到过或者不可能线上来 ...

最新文章

  1. hdu4503 概率
  2. asp.net 验证码
  3. 烧写文件系统——韦东山嵌入式Linux学习笔记11
  4. Kettle使用_11 CSV文件输入输出复制数量
  5. 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程
  6. (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers
  7. 20200208(补):翻转游戏Ⅰ Ⅱ(leetcode)
  8. 《高质量程序设计指南——C++/C》重印啦!
  9. php获取省市区区划代码,使用PHP解析行政区划代码
  10. 一文详解空洞卷积(Atrous Convolution)
  11. win7下iTools Android模拟器安装与配置
  12. 【MAF】MAF插件框架简介
  13. 简单方法适配IphoneXS Iphone XR IphoneXS MAX
  14. 爱上收纳的花艺师:热爱生活,就能被生活治愈
  15. Windows位图文件格式[转]
  16. .NET 中关于ImageList 图片锯齿问题
  17. From PHPBB用户手册(感觉很规范的,呵呵)
  18. R| require()
  19. Compose 动画api之我的电子木鱼青春版
  20. Password / Word lists

热门文章

  1. 书籍-从Paxos到Zookeeper分布式一致性原理与实践
  2. 利用全加器实现7段数码管_单片机入门,8个led数码管精选电路方案合辑
  3. MDN - API数组笔记
  4. abp后台任务BackGroundWorker
  5. 设置模糊阴影_制作带模糊效果的PPT首页
  6. 有人培训设计模式,吾表示难以理解,因为根本没用
  7. LINUX虚拟机与WINDOWS主机,直接复制交换文件会有问题
  8. shell中find某个文件排除某个目录
  9. FFMpeg编译支持NVidia CODEC(成功)
  10. 论耐力,哺乳动物中人类可能是第一