Golang中Gin 参数绑定和验证的中间件

news/2024/11/30 12:40:23/

学习目标:

1. 学习在Golang中使用Gin参数绑定和验证的中间件,了解不同参数类型的绑定和验证方式。


学习内容:

Gin框架提供了很多常用的中间件,其中就包括参数绑定和验证的中间件。在使用Gin框架中进行数据绑定和验证时,可以使用Gin内置的Binding、Validating和Uri中间件。

1. Binding

Binding中间件用于对请求参数进行绑定,可以将请求参数绑定到结构体上,也可以将请求参数绑定到字典类型的map上。

常用的参数绑定类型有:

- Form:form表单
- Query:URL查询参数
- Param:URL路径参数
- Body:请求体中的JSON/XML等格式数据

以绑定JSON为例:请注意:ShouldBindJSON

type User struct {
    Name    string `json:"name" binding:"required"`
    Age     int    `json:"age" binding:"required,gt=0"`
    Address string `json:"address" binding:"required"`
}func main() {
    r := gin.Default()
    r.POST("/user", func(c *gin.Context) {
        var user User
        if err :

http://www.ppmy.cn/news/297722.html

相关文章

【linux】信号的保存和递达处理

上节我们了解到了预备(信号是什么,信号的基础知识)再到信号的产生(四种方式)。今天我们了解信号的保存。信号产生,进程不一定立马就去处理,而是等合适的时间去处理,那么在这段时间内…

手机充电流程

手机的整个充电过程由充电管理IC 控制的,完整的充电过程可以分为6个阶段:涓流充电模式、预充电模式、恒流充电模式、恒压充电模式、充电完成模式、二次充电模式。 完整的充电过程 1. 涓流充电模式 涓流充电一般以很小的电流(几十到一百毫安…

Atlas200 模组拆解

Atlas 200 AI加速模块是一款高性能的AI智能计算模块。Atlas 200采用紧凑的结构设计,Atlas 200尺寸为38.5mm x 52.6mm。用户通过选择不同的连接器选型可实现2种不同配合高度,分别为4.3mm和6mm,可灵活的布局在用户产品中。Atlas 200集成了海思A…

S7-1200/S7-1500与S7-300进行S7通信

我们使用的是1200/1500作为客户端,300作为服务端 1. 需要确认S7-300PLC是否设置了允许远程读取。随便找个组态软件读取一下看看能否正确读取。 2. 确认是否两个程序属于同一个项目。如果不属于同一个项目使用手册中的第3、4方式,比如你需要读取别人现有设…

公司签到考勤薪资表(Excel导入信息)

首先上图: (完整源码在最后) 然后具体说一下实现思路吧: 我们首先有一张Excel表格,里面有员工的具体打卡信息: 然后我们需要的就是将Excel表格中的信息导入到数据库中然后通过一系列计算后在前端展示,表中有每一个员…

工控入门:西门子SIMATIC产品一览 S7-200/300/400/1200/1500

部分参考自:《西门子S7-200/300/400系列PLC自学手册 第2版》 中国电力出版社 高安妮 前言 SIMATIC是西门子自动化系列产品品牌统称,来源于SIEMENS Automatic(西门子自动化),涵盖了从PLC、工业软件到HMI。SIMATIC控制…

西门子S7-1200的TCP通信

西门子S7-1200集成以太网接口,通过该接口可以与其它设备进行以太网通信。S7-1200的以太网通信主要有S7、Modbus_TCP和开放式用户通信,其中开放式用户通信又包括TCP、 ISO_on_TCP、UDP。本文介绍S7-1200如何在同一项目内进行TCP通信。 关键词&#xff1a…

信息学奥赛一本通:题解目录 (〃‘▽‘〃)点个赞吧

【语言及算法基础篇】 第一部分:C语言 第一章:C语言入门 Hello,World!(信息学奥赛一本通-T1001):点击这里 输出第二个整数(信息学奥赛一本通-T1002):点击这里 对齐输出&#xff…