zoukankan      html  css  js  c++  java
  • Golang ECHO处理请求参数【3】

    几种获取请求参数的方式

    1.绑定数据

    通过将请求参数绑定到一个struct对象的方式获取数据。这种方式获取请求参数支持json、xml、k/v键值对等多种方式。

    下面例子是将请求参数绑定到User struct对象。

    // User 结构体定义
    type User struct {
      Name  string `json:"name" form:"name" query:"name"`
      Email string `json:"email" form:"email" query:"email"`
    }
    

    通过定义struct字段的标签,定义请求参数和struct字段的关系。
    下面对User的Name字段的标签进行说明。

    struct标签说明:

    标签 说明
    json:"name" 支持post请求,数据格式为json格式,并且字段名为name
    form:"name" 支持post请求,并且参数名为name
    query:"name" 支持get请求,并且参数名为name

    提示:你可以根据自己的需要选择支持的请求方式和数据类型,例如需要支持xml数据格式,可以这样定义字段标签: xml:"name"

    下面看控制器代码:

    // Handler
    func(c echo.Context) (err error) {
      u := new(User)
      //调用echo.Context的Bind函数将请求参数和User对象进行绑定。
      if err = c.Bind(u); err != nil {
        return
      }
      
      //请求参数绑定成功后 u 对象就保存了请求参数。
      //这里直接将请求参数以json格式显示
      //注意:User结构体,字段标签定义中,json定义的字段名,就是User对象转换成json格式对应的字段名。
      return c.JSON(http.StatusOK, u)
    }
    

    2.获取post请求数据

    通过echo.Context对象的FormValue函数可以直接获取post请求参数.

    // Handler
    func(c echo.Context) error {
        //获取name参数
    	name := c.FormValue("name")
    	
    	//直接输出name参数
    	return c.String(http.StatusOK, name)
    }
    

    提示:通过FormValue函数获取参数的值,数据类型都是String类型, 如果需要其他类型的数据,需要自己转换数据格式。

    3.获取get请求数据

    通过echo.Context对象的QueryParam函数可以直接获取get请求参数.

    // Handler
    func(c echo.Context) error {
        //获取name参数, 通过QueryParam获取的参数值也是String类型。
    	name := c.QueryParam("name")
    	//直接输出name参数
    	return c.String(http.StatusOK, name)
    })
    

    4.获取path路径参数

    通过echo.Context对象的Param获取,url路径参数。

    //例子: url路由规则为/users/:name  , :name为参数。
    e.GET("/users/:name", func(c echo.Context) error {
        //获取路径参数:name的值
    	name := c.Param("name")
    	//如果请求url为: /users/xjs 则name的值为xjs
    	//Param获取的值也是String类型
    	return c.String(http.StatusOK, name)
    })
    
  • 相关阅读:
    MySQL 大表优化方案
    mysql千万级大数据SQL查询优化
    mysql binlog格式
    MySQL误操作后如何快速恢复数据
    mysql数据库优化
    查看MYSQL数据库中所有用户及拥有权限
    MySQL如何优化
    MySQL 开发实践
    show slave各项参数解释
    MYSQL主从数据库搭建
  • 原文地址:https://www.cnblogs.com/remixnameless/p/14318169.html
Copyright © 2011-2022 走看看