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()
}

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

相关推荐
蜡笔小新星10 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
攸攸太上24 分钟前
JMeter学习
java·后端·学习·jmeter·微服务
speop35 分钟前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
Ljubim.te1 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
yngsqq1 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
zengy52 小时前
Effective C++中文版学习记录(三)
数据结构·c++·学习·stl
cyt涛2 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Willliam_william2 小时前
SystemC学习(1)— SystemC安装与HelloWorld
学习
sealaugh322 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
布丁不叮早起枣祈2 小时前
10.5学习
学习