1 Star 0 Fork 614

小鱼 / GoSkeleton

forked from 张奇峰 / GinSkeleton 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
destroy.go 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
package users
import (
"github.com/gin-gonic/gin"
"goskeleton/app/global/consts"
"goskeleton/app/http/controller/web"
"goskeleton/app/http/validator/core/data_transfer"
"goskeleton/app/utils/response"
)
type Destroy struct {
Id float64 `form:"id" json:"id" binding:"required,min=1"`
}
// 验证器语法,参见 Register.go文件,有详细说明
func (d Destroy) CheckParams(context *gin.Context) {
if err := context.ShouldBind(&d); err != nil {
errs := gin.H{
"tips": "UserDestroy参数校验失败,参数校验失败,请检查id(>=1)",
"err": err.Error(),
}
response.ErrorParam(context, errs)
return
}
// 该函数主要是将本结构体的字段(成员)按照 consts.ValidatorPrefix+ json标签对应的 键 => 值 形式绑定在上下文,便于下一步(控制器)可以直接通过 context.Get(键) 获取相关值
extraAddBindDataContext := data_transfer.DataAddContext(d, consts.ValidatorPrefix, context)
if extraAddBindDataContext == nil {
response.ErrorSystem(context, "UserShow表单参数验证器json化失败", "")
return
} else {
// 验证完成,调用控制器,并将验证器成员(字段)递给控制器,保持上下文数据一致性
(&web.Users{}).Destroy(extraAddBindDataContext)
// 以下代码为模拟 前置、后置函数的回调代码
/*
func(before_callback_fn func(context *gin.Context) bool, after_callback_fn func(context *gin.Context)) {
if before_callback_fn(extraAddBindDataContext) {
defer after_callback_fn(extraAddBindDataContext)
(&Web.Users{}).Destroy(extraAddBindDataContext)
} else {
// 这里编写前置函数验证不通过的相关返回提示逻辑...
}
}((&Users.DestroyBefore{}).Before, (&Users.DestroyAfter{}).After)
*/
}
}
Go
1
https://gitee.com/yu865826021/GinSkeleton.git
git@gitee.com:yu865826021/GinSkeleton.git
yu865826021
GinSkeleton
GoSkeleton
master

搜索帮助