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的定義后重新編譯,問題解決。
日志打不全,害死人。低級錯誤!