Gin框架之参数绑定的实现

收集整理的这篇文章主要介绍了Gin框架之参数绑定的实现,觉得挺不错的,现在分享给大家,也给大家做个参考。

为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content-tyPE识别请求数据类型并利用反射机制自动提取请求中QueryStringform表单JSONXML等参数到结构体中。 下面的示例代码演示了.ShouldBind()强大的功能,它能够基于请求自动提取JSONform表单QueryString类型的数据,并把值绑定到指定的结构体对象。

以下示例分别是对QueryString、form、json进行参数绑定。

注意:

1、结构体内部属性名大写

2、加地址符:

代码:

package mainimport (	"gIThub.COM/gin-gonic/gin"	"net/http")type User struct {
	Username string `json:"user" form:"userform"`	Password string `json:"pwd" form:"pwDForm"`}
func main() {
	r := gin.Default()	VAR u User	//queryString数据绑定	r.GET("/user", func(c *gin.Context) {
    		//参数绑定		err := c.ShouldBind(&
u)		if err == nil {
			c.JSON(http.statusOK, gin.H{
				"user": u.Username,				"pwd":  u.Password,			}
)		}
	}
)	//form表单数据绑定	r.POST("/form", func(c *gin.Context) {
    		//参数绑定		err := c.ShouldBind(&
u)		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,				"pwd":  u.Password,			}
)		}
	}
)	//form表单数据绑定	r.POST("/json", func(c *gin.Context) {
    		//参数绑定		err := c.ShouldBind(&
u)		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,				"pwd":  u.Password,			}
)		}
	}
)	r.Run(":9090")}
    

调试:

运行结果使用postman模拟,分别是:

对querystring进行参数绑定结果:

对form表单进行参数绑定结果:

对json进行参数绑定结果:

到此这篇关于Gin框架之参数绑定的实现的文章就介绍到这了,更多相关Gin框架 参数绑定内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:

    @H_360_65@Gin与Mysql实现简单Restful风格API实战示例详解

  • golang微服务框架基础Gin基本路由使用详解
  • golang开发微框架Gin的安装测试及简介
  • golang gin框架获取参数的操作
  • golang 网络框架之gin的使用方法