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

匿名 (未验证) 提交于 2019-12-02 23:49:02

直接上常用的例子吧:

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://blog.csdn.net/qq_41629756/article/details/96485636
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!