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

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

相关推荐
2301_7965125221 小时前
Rust编程学习 - 如何利用代数类型系统做错误处理的另外一大好处是可组合性(composability)
java·学习·rust
koo36421 小时前
李宏毅机器学习笔记43
人工智能·笔记·机器学习
lkbhua莱克瓦2421 小时前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
做一道光1 天前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
moringlightyn1 天前
进度条+ 基础开发工具----版本控制器git 调试器gdb/cgdb
笔记·git·其他·c·调试器·gdb/cgdb·进度条 倒计时
snakecy1 天前
系统架构设计师学习大纲目录
学习·系统架构
im_AMBER1 天前
React 15
前端·javascript·笔记·学习·react.js·前端框架
WarPigs1 天前
Visual Studio笔记
ide·笔记·visual studio
卡提西亚1 天前
C++笔记-24-文件读写操作
开发语言·c++·笔记
雾岛听蓝1 天前
算法复杂度解析:时间与空间的衡量
c语言·数据结构·经验分享·笔记