3. beeGo 自己写Controller 和 请求数据处理
Controller
Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller。
我们在写自己的controller的时候,一定要继承beego.Controller,也一定要记得导入 github.com/astaxie/beego
开始动手
- 我们先在router/router.go里面添加一条路由,路由指向我们自己的目录,
beego.Router("/test", &controllers.TestContronller{}, "get:SelfTest")
- 然后在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里面会自动解析这些数据,我们可以用下面这些方法来处理。
- GetString(key string) string
- GetStrings(key string) []string
- GetInt(key string) (int64,error)
- GetBool(key string)(bool,error)
- 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 和 请求数据处理相关推荐
- go系列(5)- beego自己写controller
前边的系列文章已经讲述了如何安装环境, beego的处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller. 我们在写自己的controller的时候,一定要继承bee ...
- 写个日志请求切面,前后端甩锅更方便
写个日志请求切面,前后端甩锅更方便 最近项目进入联调阶段,服务层的接口需要和协议层进行交互,协议层需要将入参 [json 字符串] 组装成服务层所需的 json 字符串,组装的过程中很容易出错.入参出 ...
- Jmeter使用基础笔记-写一个http请求
前言 本篇文章主要讲述2个部分: 搭建一个简单的测试环境 用Jmeter发送一个简单的http请求 搭建测试环境 编写flask代码(我参考了开源项目HttpRunner的测试服务器),将如下的代码保 ...
- ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记
任务20:Consent Controller Get请求逻辑实现 接着上一节的思路,实现一下 ConsentController 根据流程图在构造函数注入 IClientStore,IResourc ...
- AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理
AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...
- 《Springboot极简教程》继承WebMvcConfigurerAdapter: 一行代码写Controller
文章概要 registry.addViewController("/login").setViewName("login"); 常用的写Controller类方 ...
- extjs发送请求与controller接收请求
extjs中发送请求,参数以form表单形式上送 <!DOCTYPE html> <html><head><meta charset="UTF-8& ...
- ajax传值controller怎么写,关于ajax请求Controller传值问题详细记录
请求基本样式 ajax请求接口: (1) 接口: @RequestMapping(value="/test",method=RequestMethod.POST) public v ...
- 我也没想到,Java开发 API接口可以不用写 Controller了
大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便分享一点工作中使用它的心得 缘起 先说一下我为什么会使用这个工具? 最近新启动一个项目,业务并不算复杂,那种典型的管理 ...
- 开源个.NetCore写的 - 并发请求工具PressureTool
本篇和大家分享的是一个 并发请求工具,并发往往代表的就是压力,对于一些订单量比较多的公司这种情况很普遍,也因此出现了很多应对并发的解决方案如:分布式,队列,数据库锁等: 对于没有遇到过或者不可能线上来 ...
最新文章
- hdu4503 概率
- asp.net 验证码
- 烧写文件系统——韦东山嵌入式Linux学习笔记11
- Kettle使用_11 CSV文件输入输出复制数量
- 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程
- (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers
- 20200208(补):翻转游戏Ⅰ Ⅱ(leetcode)
- 《高质量程序设计指南——C++/C》重印啦!
- php获取省市区区划代码,使用PHP解析行政区划代码
- 一文详解空洞卷积(Atrous Convolution)
- win7下iTools Android模拟器安装与配置
- 【MAF】MAF插件框架简介
- 简单方法适配IphoneXS Iphone XR IphoneXS MAX
- 爱上收纳的花艺师:热爱生活,就能被生活治愈
- Windows位图文件格式[转]
- .NET 中关于ImageList 图片锯齿问题
- From PHPBB用户手册(感觉很规范的,呵呵)
- R| require()
- Compose 动画api之我的电子木鱼青春版
- Password / Word lists