gin基础学习笔记--参数验证

用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多。

Go 复制代码
package main

import (
	"fmt"
	"time"

	"github.com/gin-gonic/gin"
	"github.com/gorilla/sessions"
)

// 初始化一个cookie存储对象
// something-very-secret应该是一个你自己的密匙,只要不被别人知道就行
var store = sessions.NewCookieStore([]byte("secret"))

type Person struct {
	Age      int       `form:"age" binding:"required,gt=10"`
	Name     string    `form:"name" binding:"required"`
	Birthday time.Time `form:"birthday" time_format:"2006-01-02" time_utc:"1"`
}

func main() {
	r := gin.Default()
	r.GET("/51mh", func(ctx *gin.Context) {
		var person Person
		if err := ctx.ShouldBind(&person); err != nil {
			ctx.String(500, fmt.Sprint(err))
			return
		}
		ctx.String(200, fmt.Sprintf("%#v", person))
	})
	r.Run()
}

结果是:感觉没有经过验证

相关推荐
可信计算7 小时前
从单视口渲染到分支击穿:关于概率、脑神经与“创世启动器”的一些构想
人工智能·笔记
li星野7 小时前
【学习记录】PCB设计常用操作全解析:单位、图层、过滤器、布线、规则与快捷键
学习
优化Henry7 小时前
LTE基站传输割接后S1连接失败排查实录
运维·网络·笔记·学习·信息与通信
星恒随风8 小时前
Linux进程间通信(一):从匿名管道、命名管道到进程池,深入理解Pipe、FIFO与文件描述符
linux·运维·笔记·学习·状态模式
chde2Wang8 小时前
numpy学习2
学习·numpy
霖霖7148 小时前
【ESP32笔记】读取DHT11温湿度数据
笔记·单片机·mcu·物联网
Xudde.9 小时前
DC-6 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
xian_wwq9 小时前
【学习笔记-一文读懂系列】一文读懂Jev模型
笔记·学习
Highcharts.js9 小时前
关联网络图可视化与力导向关系图开发示例
学习·信息可视化·highcharts·前端可视化·交互图表·力导向图·network graph
Awh-9 小时前
ARM 裸机开发 DAY8 学习笔记
arm开发·笔记·学习