golang hertz 时间 yyyy-MM-dd hh:mm:ss 反序列化
添加如下代码
func init() {
// 默认false,全局生效
// 在一些场景下,前端有时候传来的信息只有 key 没有 value,这会导致绑定数值类型的时候,
//会报错 cause=parameter type does not match binding data。 这时需要配置 looseZero 模式
binding.SetLooseZeroMode(true)
// http://127.0.0.1:8888/save?id=10&age=22&name=zhansan&birthday=2022-12-20 12:21:12
// 日期时间 序列化
binding.MustRegTypeUnmarshal(reflect.TypeOf(entity.LocalTime{}), func(v string, emptyAsZero bool) (reflect.Value, error) {
if v == "" && emptyAsZero {
return reflect.ValueOf(entity.LocalTime{}), nil
}
//t, err := time.Parse(time.RFC3339, v)
time,err := time.Parse("2006-01-02 15:04:05",v)
if err != nil {
fmt.Println(err)
return reflect.Value{}, err
}
return reflect.ValueOf(entity.LocalTime(time)), nil
})
// 使用gjson
binding.UseGJSONUnmarshaler()
}
最后修改于 2022-12-29 11:45:05
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

