go-gin (youtebu自学) - 第六课 -- binding data & validate

本篇博客主要介绍了Go Gin框架中的数据绑定和验证功能。首先讲解了如何进行数据绑定,包括创建结构体、为数据添加binding标签以及相关的修改和测试过程。接着,文章转向数据验证部分,描述了如何新建文件夹、文件,使用验证器进行注册,并进行了相应的运行和测试,展示了输入和输出示例。
摘要由CSDN通过智能技术生成

binding data & validate

binding data

  • 新增Person结构blog-entity.go
    package entity
    
    type Person struct {
         
    	FirstName string `json:"firstName"`
    	LastName  string `json:"lastName"`
    	Age       int    `json:"age"`
    	Email     string `json:"email"`
    }
    
    type BlogEntity struct {
         
    	Title       string `json:"title"`
    	Description string `json:"description"`
    	URL         string `json:"url"`
    	Author      Person `json:"author"`
    }
    
  • 为每个数据都加上binding blog-entity.go
    package entity
    
    type Person struct {
         
    	FirstName string `json:"firstName" binding:"required"`
    	LastName  string `json:"lastName" binding:"required"`
    	Age       int    `json:"age" binding:"required,gte=1,lte=200"`
    	Email     string `json:"email" binding:"required,email"`
    }
    
    type BlogEntity struct {
         
    	Title       string `json:"title" binding:"required,min=2,max=20"`
    	Description string `json:"description" binding:"required,max=200"`
    	URL         string `json:"url" binding:"required,url"`
    	Author      Person `json:"author" binding:"required"`
    }
    
  • 修改blog-controller.go
    package controller
    
    import (
    	"learn-gin/entity"
    	"learn-gin/service"
    
    	"github.com/gin-gonic/gin"
    )
    
    type BlogController interface {
         
    	FindAll() []entity.BlogEntity
    	Save(*gin.Context) error
    }
    
    type blogController struct {
         
    	bs service.BlogService
    }
    
    func New(bs service.BlogService) BlogController {
         
    	return &blogController{
         
    		bs: bs,
    	}
    }
    
    func (bc *blogController) FindAll() []entity.BlogEntity {
         
    	return bc.bs.FindAll()
    }
    
    func (bc *blogController) Save(c *gin.Context) error 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值