golang web框架 beego 学习 (三) beego获取参数

直接上常用的例子吧:

A:     获取URL中的参数

router

func init() {
    beego.Router("/task/?:id/?:name", &controllers.TaskController{})
}

controller

func (c *TaskController) Get() {
    id1 := c.GetString(":id")
    name1 := c.GetString(":name")
    id2 := c.Ctx.Input.Param(":id")
    name2 := c.Ctx.Input.Param(":name")
    c.Ctx.WriteString("id1:" + id1 + ";name1" + name1 + ";id2:" + id2 + ";name2:" + name2)
}

URL:  

B 获取Request Body里的内容

  第一步:在app.conf中加上 copyrequestbody = true 
  第二步:导入json包      import (
	"encoding/json"
)下面是请求:

下面是controller的定义:

package controllers

import (
    "encoding/json"

    "github.com/astaxie/beego"
)

type JsonController struct {
    beego.Controller
}

type User struct {
    Username string `json:"user_name"`        // 注意Username必须首字母大写
    Mobile   string `json:"mobile"`           // 并且写明与json字段的映射关系,否则Unmarshal函数不好用
 } 

func (this *JsonController) Post() {   var ob User //这是一个model,struct类型   body := this.Ctx.Input.RequestBody //这是获取到request的body 的json二进制数据  json.Unmarshal(body, &ob) //解析二进制json,把结果放进ob中

 this.Data["json"] = map[string]interface{}{"result": false, "msg": "ok"}   // 设置返回值 this.ServeJSON()     // 返回json数据}


原文地址:https://www.cnblogs.com/liufei1983/p/10686845.html

时间: 2024-12-17 06:04:38

golang web框架 beego 学习 (三) beego获取参数的相关文章

【One by one系列】一步步学习Golang web框架Gin

一步步学习Golang web框架Gin 建立项目 go mod 管理依赖 cd $gopath\src\github.com\carfield go mod init 就可以看到在src\github.com\carfield 生成了go.mod文件 module github.com/carfield go 1.13 下载gin包 go get -u github.com/gin-gonic/gin ps:由于众所周知的原因,大概率是下不动,所以请修改代理 修改代理 go env -w GO

Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个值:" id="txt"/> <input type="button" value="按钮" id="btn"/> <script> var txt=document.getElementB

golang web框架 beego 学习 (五) 配置文件

app.conf: appname = gowebProject httpport = 8080 runmode = dev copyrequestbody = true [db] host= localhost port= 3306 databaseName = test userName= root password= root envRar = ${XXX_XXXXX} //XXX_XXXXX 是环境变量 pwd := beego.AppConfig.String("db::passwor

Android开源框架Universal-Image-Loader学习三——UsingFreqLimitedMemoryCache源码阅读

 Universal-Image-Loader的内存缓存策略 1. 只使用的是强引用缓存 LruMemoryCache(这个类就是这个开源框架默认的内存缓存类,缓存的是bitmap的强引用) 2.使用强引用和弱引用相结合的缓存有 UsingFreqLimitedMemoryCache(如果缓存的图片总量超过限定值,先删除使用频率最小的bitmap) LRULimitedMemoryCache(这个也是使用的lru算法,和LruMemoryCache不同的是,他缓存的是bitmap的弱引用)

Struts2学习第二天——获取参数与数据校验

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.06.14 lutianfei none struts2中获取请求参数 在struts2中action是什么?(struts2是一个mvc框架) View : jsp Model : action Control : action & StrutsPrepareAndExecuteFilter 1.属性驱动 1.直接将action做一个model(类似bean结构),就可以得到请求参数. 问题1:action封装请求参

SpringMVC学习三(日期参数/数据保存/重定向/乱码问题)

静态资源的映射 Springmvc完成ajax功能 SpringMVC返回中文到ajax乱码问题解决方式 1.静态资源映射 对于之前web.xml配置文件中的 先做出如下更改,不可写“/*”因为有区别 “/”代表所有请求都需要经过此拦截器(之前学习中的list.do也可以写成list即可),但我们发现即使设置了此拦截,通过后却依然不能显示图片等等,即.jsp/.png等后缀的静态资源文件 解决此问题的方法需要在spring配置文件中加入有着 释放静态资源 作用的代码 <mvc:default-s

淘宝SOA框架dubbo学习(4)--参数验证

1.由于没用maven,和对dubbo不是很了解的原因,这次,总因为jar包不对,而导致:dubbo客户端程序,启动不起来 所以决定:将原来用过的所有jar包全部去,将dubbo-demo-provider-2.5.4-SNAPSHOT/lib下的所有jar包全部导入项目中 一切就OK了 2.服务消费者代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

淘宝SOA框架dubbo学习(8)--参数回调

1.服务提供端及客户端共享代码 package com.alibaba.dubbo.demo; public interface CallbackService {     void addListener(String key, CallbackListener listener); } package com.alibaba.dubbo.demo; public interface CallbackListener {     void changed(String msg); } 2.客户

Golang 微框架 Gin 简介

框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了.成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架,或是自己创造一个. 曾经我以为Python世界里的框架已经够多了,后来发现相比golang简直小巫见大巫.golang提供的net/http库已经很好了,对于http的协议的实现非常好,基于此再造框架,也不会是难事,因此生态中出现了很多框架.既然构造框架的门槛变低了,