iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Gin框架之参数绑定的实现
  • 429
分享到

Gin框架之参数绑定的实现

2024-04-02 19:04:59 429人浏览 安东尼
摘要

为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content-Type识别请求数据类型并利用反射机制自动提取请求中QueryString、fORM表单、JSON、

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

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

注意:

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

2、加地址符:

代码:


package main

import (
	"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框架 参数绑定内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Gin框架之参数绑定的实现

本文链接: https://www.lsjlt.com/news/159425.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Gin框架之参数绑定的实现
    为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content-Type识别请求数据类型并利用反射机制自动提取请求中QueryString、form表单、JSON、...
    99+
    2024-04-02
  • Gin框架中参数绑定的实现是怎样的
    Gin框架中参数绑定的实现是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content...
    99+
    2023-06-22
  • Gin框架限流实现示例
    目录什么是限流为什么要进行限流Gin框架的限流实现测试总结完整代码什么是限流 限流是指通过一定的算法,对接口的请求进行限制,防止并发量过大,导致系统瘫痪或响应变慢的情况出现。 为什么...
    99+
    2023-03-19
    Gin框架限流
  • Gin框架限流如何实现
    本文小编为大家详细介绍“Gin框架限流如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Gin框架限流如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是限流限流是指通过一定的算法,对接口的请求进行...
    99+
    2023-07-05
  • Gin 框架中的自定义验证
    “纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《Gin 框架中的自定义验证》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有...
    99+
    2024-04-05
  • SpringMVC参数绑定之视图传参到控制器的实现代码
    目录⛳️ 基本类型做形式参数(零散参数的数据接收)1、基本数据类型1.1 表单 name 属性值与方法参数名称不一致解决方案1.2 表单 name 属性值为空时解决方案2、包装数据类...
    99+
    2023-03-06
    SpringMVC 参数绑定 SpringMVC视图传参到控制器
  • SpringMVC参数绑定之视图传参到控制器如何实现
    本篇内容主要讲解“SpringMVC参数绑定之视图传参到控制器如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringMVC参数绑定之视图传参到控制器如何实现”吧!基本类型做形式参数(...
    99+
    2023-07-05
  • 详解Android的MVVM框架 - 数据绑定
    本教程是跟着 Data Binding Guide 学习过程中得出的一些实践经验,同时修改了官方教程的一些错误,每一个知识点都有对应的源码,争取做到实践与理论相结合。Data Binding 解决了 Android UI 编...
    99+
    2023-05-31
    android mvvm 双向绑定
  • C++11中怎么实现参数绑定
    C++11中怎么实现参数绑定,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。lambda表达式的缺点还记得当初引入lambda表达式的原因么?向算法传递谓词时,由...
    99+
    2023-06-19
  • 前端框架Vue父子组件数据双向绑定的实现
    目录一、父子组件单向传值1、父向子传值 2、子向父传值二、父子组件数据双向绑定实现思路: 父 向 子 组件传值:使用 props 属性。( props 是property[属性] 的...
    99+
    2024-04-02
  • Nacos框架与原理之Nacos的参数
    目录1.命名空间1.1 命名空间用法1.2 注意事项2.分组名3.服务名4.保护阈值5.服务路由类型6.权重7.临时实例7.1 临时实例 VS 持久化实例7.2 实例类型设置7.3 ...
    99+
    2024-04-02
  • C#对Xamarin框架进行数据绑定
    关于数据绑定 Xamarin 单向、双向绑定 Xaml绑定 C#代码绑定 在此之前,几段 伪代码 帮助像我一样菜的同学入门。。。 假如说,有两个控件,一个是滑动条(Slider),一...
    99+
    2024-04-02
  • GridView绑定数据的实现-wpf数据绑定
    在WPF中,可以通过以下步骤实现GridView的数据绑定:1. 创建一个数据模型类,用于表示你要绑定的数据对象。该类应该实现INo...
    99+
    2023-09-22
    GridView
  • Flask框架之数据交互的实现
    目录1 使用Flask处理表单1.1 使用Flask处理通用表单1.2 使用Flask-WTF处理表单2 使用Flask上传文件3 Cookie的使用3.1 Cookie的基本概念3...
    99+
    2024-04-02
  • ASP.NET中WebAPI的参数绑定
    在这篇文章中,我们将学习WebAPI如何将HTTP请求数据绑定到一个操作方法的参数中。 操作方法在WebAPI控制器中可以有一个或多个不同类型的参数。它可以是基本数据类型或复杂类型。...
    99+
    2024-04-02
  • javassm框架的controller实现向页面传递参数
    目录ssm的controller向页面传递参数使用Map<String, Object> 来传递参数使用PrintWriter来传递参数ssm框架获取页面传递的参数通过@...
    99+
    2024-04-02
  • Golang怎么使用Gin框架实现HTTP上传文件
    本文小编为大家详细介绍“Golang怎么使用Gin框架实现HTTP上传文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang怎么使用Gin框架实现HTTP上传文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-05
  • gin框架中使用JWT的定义需求及解析
    目录什么是JWT?为什么需要JWT?生成JWT和解析JWT定义需求生成JWT解析JWT在gin框架中使用JWT什么是JWT? JWT全称JSON Web Token是一种跨域认证解决...
    99+
    2024-04-02
  • golang gin框架实现大文件的流式上传功能
    目录upload.htmlgin_stream_upload_file.go一般来说,通过c.Request.FormFile()获取文件的时候,所有内容都全部读到了内存。如果是个巨...
    99+
    2024-04-02
  • 使用gin框架搭建简易服务的实现方法
    go语言web框架挺多的,各有各的特点和风格。我之所以在项目中使用gin框架,是因为项目一开始是用的martini,一个设计得很好的框架,但是存在一个比较严重的问题,就是大量使用反射...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作