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

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

相关推荐
周周不一样13 分钟前
Andorid基础笔记2-jar&反射
笔记·pycharm·jar
jiayong2330 分钟前
第 8 课:开始引入组合式函数
前端·javascript·学习
智者知已应修善业32 分钟前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
格鸰爱童话1 小时前
向AI学习项目技能(五)
java·学习
技术人生黄勇1 小时前
拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统
学习
凉、介2 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
speop2 小时前
TASK01 | Reasoning Kindom
学习
2301_822703203 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
码喽7号3 小时前
vue学习四:Axios网络请求
前端·vue.js·学习
星幻元宇VR3 小时前
VR科普行走平台适用哪些科普教育主题
科技·学习·安全·vr·虚拟现实