POST到数据到一条gin框架的接口后,客户端收到400错误,并且返回了业务中返回的“decode json fail”。

关键代码是:

func report(c *gin.Context) {
req := pb.ReportRequest{}
err := c.BindJSON(&req)
if err != nil {
c.JSON(200, gin.H{"code":1,"msg":"decode json fail"})
return
}
}

饶了一大圈,最后输出了err的信息,原来是JSON的格式与PB的格式不匹配。

修改PB的定义后重新编译,问题解决。

日志打不全,害死人。低级错误!

最新文章

  1. 2016 大连网赛---Different GCD Subarray Query(GCD离散+树状数组)
  2. 去除字符串中的html标记及标记中的内容
  3. Codeforces 451E Devu and Flowers(组合计数)
  4. OidView
  5. Spring框架学习之第6节
  6. MySQL查询优化:连接查询排序limit
  7. MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  8. 全数字锁相环(DPLL)的原理简介以及verilog设计代码
  9. oracle在一个字符串中查找某个字符出现过几次
  10. MySQL 触发器例子(两张表同步增加和删除)
  11. 缓存1 静态缓存-->读库保存成php文件 mkdir-->file_put_contents-->var_export -->include
  12. CodeForces - 681A A Good Contest
  13. PGM:贝叶斯网的参数估计
  14. 总结:Java 集合进阶精讲2-ArrayList
  15. @meda媒体查询
  16. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?
  17. Oracle 12c RAC
  18. 用HTML5+JS开发跨平台的桌面应用
  19. echart 圆滑初始化化
  20. poi 创建excel数据

热门文章

  1. CF1514A Perfectly Imperfect Array 题解
  2. java 多线程,单例模式类(创建对象)最优写法
  3. 开启ipv6支持
  4. SpringBoot整合nacos实现配置中心(配置动态更新)
  5. c++参数入栈顺序和参数计算顺序
  6. matplotlib 进阶之Legend guide
  7. <数据结构>XDOJ261.理解哈夫曼树
  8. IOS自动化,使用到坐标点击,模拟器的分辨率怎么获取?
  9. 前端 vue 等刷新清浏览器缓存的方法
  10. scrollTop、scrollHeight与clientHeight