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
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇