feat(valid): 更新验证功能支持多种绑定方式
- 修改 ValidToStruct 函数使用 c.Bind 替代 c.BindJSON - 新增 ValidToMap 函数支持将参数验证后转换为 map 类型 - 更新 ValidToStructAndMap 函数使用 c.Bind 进行参数绑定 - 添加相应的错误处理和类型转换逻辑 - 更新项目缓存配置文件中的文件扫描路径信息
This commit is contained in:
+14
-2
@@ -10,7 +10,7 @@ import (
|
||||
// ValidToStruct 验证参数并返回结构体
|
||||
func ValidToStruct[T any](c *gin.Context) (object *T) {
|
||||
obj := new(T)
|
||||
if err := c.BindJSON(obj); err != nil {
|
||||
if err := c.Bind(obj); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := g.Validator().Data(obj).Run(c); err != nil {
|
||||
@@ -19,10 +19,22 @@ func ValidToStruct[T any](c *gin.Context) (object *T) {
|
||||
return obj
|
||||
}
|
||||
|
||||
// ValidToMap 验证参数并返回结构体
|
||||
func ValidToMap[T any](c *gin.Context) (object map[string]any) {
|
||||
obj := new(T)
|
||||
if err := c.Bind(obj); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := g.Validator().Data(obj).Run(c); err != nil {
|
||||
panic(gerror.Current(err).Error())
|
||||
}
|
||||
return gconv.Map(obj)
|
||||
}
|
||||
|
||||
// ValidToStructAndMap 验证参数并返回map
|
||||
func ValidToStructAndMap[T any](c *gin.Context) (stru *T, object map[string]any) {
|
||||
obj := new(T)
|
||||
if err := c.BindJSON(obj); err != nil {
|
||||
if err := c.Bind(obj); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := g.Validator().Data(obj).Run(c); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user