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 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 和 请求数据处理的更多相关文章
- go系列(5)- beego自己写controller
前边的系列文章已经讲述了如何安装环境, beego的处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller. 我们在写自己的controller的时候,一定要继承bee ...
- Go语言之高级篇beego框架之Controller
一.Controller 控制器 Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller.写controller的时 ...
- spring MVC 管理HttpClient---实现在java中直接向Controller发送请求
在spring MVC中,大多数时候是由客户端的页面通过ajax等方式向controller发送请求,但有时候需要在java代码中直接向controller发送请求,这时可以使用HttpCilent实 ...
- 以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewControllers方法即可达到效果了
以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewC ...
- Ajax向Controller发送请求并接受数据需要注意的一个细节
想用Ajax想向Controller发送请求和接收返回的字符等等.Controller中要使用@ResponseBody注解. <script type="text/javascrip ...
- 关于如何在其他包中写controller和简单介绍@SpringBootApplication
本文参考博客:https://blog.csdn.net/u013473691/article/details/52353923 关于@Configuration和@Bean参考博客:https:// ...
- Jmeter使用基础笔记-写一个http请求
前言 本篇文章主要讲述2个部分: 搭建一个简单的测试环境 用Jmeter发送一个简单的http请求 搭建测试环境 编写flask代码(我参考了开源项目HttpRunner的测试服务器),将如下的代码保 ...
- Spring MVC的Controller接受请求方式以及编写请求处理方法
Controller接受请求参数的常见方法: 1.通过Bean接受请求参数: 创建POJO实体类 创建pojo包,并在该包中创建实体类UserForm,代码: package pojo; public ...
- springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。
springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...
随机推荐
- ajaxfileupload.js ajax上传文件(含application/json)
jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' ...
- RabbitMQ文档翻译——Hello World!(上)
文章主要翻译自RabbitMQ官方文档,主要是为了练习英语翻译,顺便学习一下RabbitMQ
- Linux watchdog 关闭退出功能
Linux 程序退出的时候,程序是会把 watchdog 调用 release 功能.
- 读取 classes下的配置文件
调用: Configure.getValue("discount.strategy.class"); 配置类: package com.util; import com.sun.j ...
- PCL行人检测
首先我们知道Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很 ...
- IntelliJ: Maven projects need to be imported: Import Changes Enable Auto-Import
upon creating a new maven project I get the popup box saying "Maven projects need to be importe ...
- label文字居中
height: height,//"20px" "line-height": height, autosize:true, &qu ...
- asp.net请求管道和页面生命周期
- 多变量频率统计——r
例如有X1,X2,..,Xn个变量,我需要对每一个变量进行频次统计,如果一个一个求解的话非常麻烦,如table(X1), table(X2), ... ,table(Xn).有没有简单的语句一次性求解 ...
- linux update & upgrade
Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的: 复制代码 代码如下: yum -y update 升级所有包同时也升级软件和系统内核 复制代码 ...