非常感谢,初次写gin 踩坑了【Go】ShouldBind解析json获取空的数据——踩坑解决
反思
对gin还是不熟悉,下面介绍下Gin数据解析和绑定(Bind与ShouldBind系列函数)
参考:Go(Gin框架):03—Gin数据解析和绑定(Bind与ShouldBind系列函数)
两套绑定方法
第一类是以"ShouldBind"系列开头的方法:这些方法底层使用ShouldBindWith,如果存在绑定错误,则返回错误,开发人员可以正确处理请求和错误
第二类是以"Bind"系列开头的方法:
这些方法底层使用MustBindWith
如果存在绑定错误,请求将被以下指令中止 c.AbortWithError(400, err).SetType(ErrorTypeBind),响应状态代码会被设置为400,请求头Content-Type被设置为text/plain; charset=utf-8
注意,如果你试图在此之后设置响应代码,将会发出一个警告 [GIN-debug] [WARNING] Headers were already written. Wanted to override status code 400 with 4